DAY2 Python基礎 2018-06-12

01-python初識

02-python3基礎語法

03-python3基本數(shù)據(jù)類型

04-進制轉(zhuǎn)換

05-變量

06-運算符

07-math模塊中常用函數(shù)


01-python初識

======常用的快捷鍵========
ctr+b 執(zhí)行(sublim)
ctr+/ 單行注釋
ctr+c 拷貝
ctr+v 粘貼
ctr+s 保存
ctr+z 撤銷
ctr+shift+z 反撤銷
ctr+a 全選
ctr+x 剪切
ctrl + 單擊選中的函數(shù),進入函數(shù)的解釋界面

ctrl+f-->輸入要替換目標-->ctrl+r-->輸入更新的內(nèi)容-->replace all

版本號A.B.C
A在語言做重大修改,一般不兼容之前的版本。
B在做功能增加的時候,B的值增加。
C在修復BUG時候,值增加。
注意:我們目前講的Python都是Python3.x
print是Python中的內(nèi)置函數(shù),功能是在控制臺打印括號中的內(nèi)容
print函數(shù)只是在程序員自己做測試的時候去使用

print("hello world~") #python2.x中 print "hello world"  

02-python3基礎語法

2.1.注釋:

注釋就是穿插代碼中的說明性文字,對于代碼實現(xiàn)功能無任何作用,注釋不會參與執(zhí)行。在寫代碼的時候需要經(jīng)常寫注釋

單行注釋:就是在注釋的內(nèi)容前加#

# 注釋一行注釋
# 這是第二行注釋

多行注釋:

a.在每一行前面加#

使用'''或者"""括起來(推薦使用上三個""")
'''
這是多行注釋
這是多行注釋
這是多行注釋
'''
"""
這是多行注釋
這是多行注釋
這是多行注釋
"""

2.2.標識符

在開發(fā)中使用的所有的名字都是標識符(包括變量名、函數(shù)名、類名、對象名等)

硬性要求:
1.由字母(a-z,A-Z)、數(shù)字(0-9)、下劃線(_)組成
2.數(shù)字不能開頭
3.不能是保留字(關鍵字)(后邊會涉及)
規(guī)范:
1.要見名知意
2.PEP 8規(guī)范(變量名):全部小寫,如果名字是由多個單詞組成,單詞之間以_分開
補充:駝峰式:如果名字是由多個單詞組成,第一個單詞首字母是小寫,后面的每個單詞第一個字母大寫
python中大小寫敏感:Key和key是不一樣的
a2_=1
abc=2
a+b=3 #SyntaxError: can't assign to operator 語法錯誤:不能賦值給操作符
2d=1 #SyntaxError: invalid syntax 語法錯誤:無效語法
for=2 #SyntaxError: invalid syntax (for 是關鍵字)

cat_name = 1 #PEP 8
catName = 1 #駝峰式

2.3.關鍵字(保留字)

在Python中有自己獨特功能的一些單詞,程序員在使用標識符的時候不能使用關鍵字
import keyword #導入內(nèi)置keyword模塊
keyword.kwlist #獲取所有關鍵字

print(keyword.kwlist)

"""
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del',
'elif', 'else','except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',
'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
"""

2.4.行與縮進

在python中,語法對縮進有嚴格的規(guī)范。同一級的代碼要寫在一個縮進下(縮進->空格和制表符tab)
行:可以通過換行將代碼分塊,要求函數(shù)定義和其他代碼之間要有一個換行,類的聲明和其他代碼之間要有兩個換行。(不按要求來不會報錯)

 abc=1 
\# abc前多了一個空格,IndentationError:unexpected indent 縮進錯誤:意外縮進

注意:語法相關的所有符號,都必須是英文輸入法下的符號。

2.5.多行語句

一行代碼很長,需要多行顯示
python中,如果一行只有一個語句,那么語句后面可以不寫分號(寫了不會報錯)
如果一行中有多條語句,那么語句間要用分號(;)分開

bbb=2
ccc=3
ddd=4

sum1=aaa+bbb+ccc+ddd

sum2=aaa+\
     bbb+\
     ccc+\
     ddd

\可以將一行代碼寫成多行,相當于還是在一行里,可以任意縮進,不會出錯
列表、字典、元組、集合的元素在多行顯示的時候,可以不用\連接

dict1={ 
        'name':'yuting',
        'age':18,
        'gender':'女'}  #dict 字典

03-python3基本數(shù)據(jù)類型

python3中標準的數(shù)據(jù)類型有六種
Number(數(shù)字)、Str(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dict(字典)

3.1.數(shù)字

python中的數(shù)字分為:整型(整數(shù))、浮點型(小數(shù))、布爾、復數(shù)(實部+虛部)
整型(int):python3中只有長整型int,python2中有l(wèi)ong 例如:23、100、-25、0
浮點型(float):python3只有float類型,例如:12.8、1.0、0.0、-10.5、2e2、2e-2
布爾(bool):表示真假(是否)的值,值只有True(1)和False(0)兩個值
復數(shù)(complex):由實部和虛部組成,例如:10+1j,12.7+2j
a=10+1j

# type():查看()里內(nèi)容的類型
print(type(10)) #type()查看()里內(nèi)容的類型
print(type(12.5))
print(type(True))
print(type(10+2j))
print(a)

3.2.字符串

由單引號或者雙引號括起來的數(shù)據(jù)就是字符串(推薦使用單引號)
python中沒有字符類型,所說的字符就是用引號括起來的長度是1的字符串
'hello world' '123' '1' #字符串中單獨的一個符號就是一個字符
'!2Dfs'
'' #空串,長度是0
' ' #空格字符串是有意義的字符串
python需要轉(zhuǎn)義字符“\”來表示一些特殊的字符串:包括一些有特殊意義和特殊功能的字符串

'\''
print('\'') # '
print('\\') # \

str1='\t床前明月光,\n疑似地上霜' #\n->換行 \t->制表符

print(str1)
print('a\\nb')   # a\nb
# 在字符串前加r\R,阻止轉(zhuǎn)義字符轉(zhuǎn)義
print(r'a\nb')
print(R'\ta')

04-進制轉(zhuǎn)換

進制:十進制、二進制、八進制、十六進制(要求:認識、會轉(zhuǎn)換)

4.1十進制:

基數(shù):0,1,2,3,4,5,6,7,8,9
逢十進一(10->10)

123:100+20+3  1*10^2+2*10^1+3*10^0(任何數(shù)的0次方都是1)
 8976:6*10^0+7*10^1+9*10^2+8*10^3

12 #直接寫數(shù)字,就是十進制
print(12) #可以直接將數(shù)據(jù)轉(zhuǎn)換成十進制

print(0xae)

4.2 二進制:

(計算機在存儲數(shù)據(jù)的時候,存的都是二進制數(shù))
逢二進一(10->2)
基數(shù):0,1 (111 10001 0001)

1101:1*2^0+0*2^1+1*2^2+1*2^3=13
101011:1*2^0+1*2^1+0*2^2+1*2^3+0*2^4+1*2^5=1+2+0+8+0+32=43

二進制轉(zhuǎn)10進制(相乘求和):每一位上的數(shù)乘以當前位上2的冪次數(shù)(從低位到高位,冪次數(shù)從0開始依次加1)
0b1011 #在數(shù)字前加'0b'表示二進制
print(0b1011)
bin() #該函數(shù)可將括號中的數(shù)字轉(zhuǎn)換成二進制數(shù),返回的是字符串形式的數(shù)據(jù)

print(bin(0o75))

4.3八進制:

基數(shù):0,1,2,3,4,5,6,7

26:6*8^0+2*8^1=22
10:8^1=8

0o10 #在數(shù)字前加'0o'表示八進制

print(oct(10))  #將括號里面的數(shù)據(jù)轉(zhuǎn)換成8進制
print(oct(0b110011))

4.4十六進制:

逢十六進一(10->16)
基數(shù):0,1,2,3,4,5,6,7,8,9,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)
1f:116^1+1516^0=16+15=31
ab:1016^1+1116^0=160+11=171
0xa1 #在數(shù)字前加'0x'表示十六進制

print(hex(10)) #將括號里面的數(shù)據(jù)轉(zhuǎn)換成十六進制
print(hex(0o67))

4.5進制轉(zhuǎn)換

a.其他進制轉(zhuǎn)換成十進制:相乘求和

b.十進制轉(zhuǎn)換成其他進制:整除取余法

100->(2) 1100100
100->(8) 12-4 1-4 0-1=144
100->(16) 6-4 0-6=64

c.二進制和八進制(每三位二進制轉(zhuǎn)換成一位八進制)、十六進制(每四位二進制轉(zhuǎn)換成一位十六進制)的轉(zhuǎn)換

(2)001 100 100-->(8)144
(2) 0110 0100-->(16)64
(8)571-->(2)101 111 001
(16)a1b-->(2)1010 0001 1011

05-變量

變量用來存儲數(shù)據(jù)的
在python中聲明變量不用指定類型,一個變量可以存儲任何類型的數(shù)據(jù)

5.1.聲明變量:變量名 = 初值

變量名:a.標識符; b.PEP 8命名方式; c.見名知意
= :賦值符號,要求賦值符號的左邊必須是變量 a=10;
a =10
10=20 # SyntaxError: can't assign to literal 不能賦值

初值:python中聲明變量必須賦值
name='YuTing' #聲明一個變量,并且賦了初值為'YuTing'

同時聲明三個變量a,b,c他們的初值都是10
a=b=c=10

同時聲明了三個變量a1,b1,c1;他們對應的初值分別是10,12.6,aaa
a1,b1,c1=10,12.6,'aaa'

一個變量可以存儲多種類型的值,(python是動態(tài)語言)

name=100 
age=a
print(age)

06-運算符

python中的運算符:算術運算符、比較運算符、賦值運算符、邏輯運算符

6.1.算術運算符:+(加)、-(減)、*(乘)、/(除)、%(求余)、//(整除)、**(冪運算)

+、-、*、/、%和數(shù)學里面相應的運算時一模一樣
print(12+10.0) #22.0
print(100-8) #92
print(10*7) #70
print(5/2) #2.5
print(10%4) #2

//(整除):可以對浮點數(shù)做整除的操作,只是結果只保留整數(shù)的部分(直接去掉小數(shù)部分)

print(16//10)  #1
print(16/10)   #1.6
print(10//3)   #3

x**y:計算x的y次方

print(2**3)  #計算2的3次方

練習:獲取n(三位數(shù))的個位數(shù)、十位數(shù)、和百位數(shù)

n=789
# 百位數(shù):
print('百位數(shù):',n//100)    
# 十位數(shù):
print(n%100//10) 
print(n//10%10)  
# 個位數(shù):
print('個位數(shù):',n%10)         

通過import關鍵字可以導入python中內(nèi)置的模塊
math是python內(nèi)置的一個提供數(shù)學運算的模塊
import math

07-math模塊中的函數(shù)

先用import關鍵字導入python中內(nèi)置的math模塊才能使用

import math   

7.1factorial(n):求n的階乘

num=math.factorial(10)
print(num)

7.2fabs(n):求n的絕對值

num1=math.fabs(-20)
print(num1)

7.3pi:圓周率

print(math.pi)

7.4fmod(x,y) 取余數(shù),值是一個浮點數(shù) ,算式是x/y

num1=math.fmod(5,4) 
print(num1)  # value=1.0

7.5ceil(x):取大于等于x的最小整數(shù)值,x可以是int、float、bool但不能是comples

num2=math.ceil(False)
print(num2)  #value=0

7.6log(x):返回x的自然對數(shù),默認以e為基數(shù),對于給定基數(shù)n:log(x)/log(n)

num3=math.log(125)/math.log(5)
print(num3)  # value=3.0000000000000004 最后的4為儲存錯誤  5^3=125
print('%.2f'%num3) #value=3.00 限定小數(shù)位數(shù)可確保數(shù)值精確

n=math.log1p(8)  #返回x+1對x的對數(shù)值   ??????????????
print(n)

7.7 sqrt(x):求x的平方根

num4=math.sqrt(9)
print(num4)  #value=3.0

7.8 trunc(x):返回x的整數(shù)部分

num5=math.trunc(3.18)
print(num5)  #value=3

7.9cos(x):求x的余弦,但是x必須是弧度;math.pi/6=30度

sin(x):求x的正弦值
tan(x):求x的正切值

num6=math.cos(math.pi/3)
print(num6)  #value=0.5000000000000001 ,數(shù)值異常同line 14

num6_2=math.tan(math.pi/4)
print(num6_2)
print('%.2f'%num6_2)
if num6-0.5<0.000000001:
    print('r')
else:
    print('f')  

7.10radians(x):把角度x轉(zhuǎn)換成弧度

num7=math.radians(180)
print(num7) #value=3.141592653589793=pi

7.11pow(x,y):返回x的y次方,及x**y

num8=math.pow(3,3)
print(num8)  #value=27.0

7.12ldexp(x,i):返回x*(2**i)的值

num9=math.ldexp(5,3)
print(num9) #value=40=5*2^3

7.13 degrees(x):把x從弧度轉(zhuǎn)換成角度

num10=math.degrees(math.pi/4)
print(num10)  #value=45.0 
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,569評論 0 13
  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學習Python基礎知識的框架詳細梳理了一遍。 ...
    Raxxie閱讀 19,589評論 17 410
  • 金黃的麥穗在正午陽光的照耀下熠熠閃著光輝,細長飽滿的菜籽炸裂開,露出棕紅泛黑的菜籽粒,一陣微風吹過,噼...
    921麻麻閱讀 1,275評論 2 2
  • 【作者】唐志燕 【指導老師】劉艷老師 【解說】這幅導圖是聽家庭教育五毒做的課堂筆記。當你看到五毒(貪、嗔、癡、慢、...
    靜心和閱讀 370評論 0 1
  • 胡洪俠老師編的《微書話》一直置放于床邊,三言兩語的一篇小文,信息量大,形成馬拉松。這樣的體例蠻有創(chuàng)意。(甲紙隨筆<...
    喬橋閱讀 191評論 1 2

友情鏈接更多精彩內(nèi)容