1.基本語(yǔ)法
1.1注釋
??寫(xiě)在代碼中不參與編譯執(zhí)行的部分就是注釋。作用是用來(lái)對(duì)代碼進(jìn)行注釋說(shuō)明,方便程序更好的閱讀代碼
注意:要勤寫(xiě)注釋,方便自己也方便別人!
單行注釋:在文本內(nèi)容的前面#
多行注釋
方法一:每一行前都加一個(gè)#號(hào)
#我是注釋1
#我是注釋2
方法二:將注釋放在三個(gè)單引號(hào)/三個(gè)雙引號(hào)中(推薦使用雙引號(hào))
"""
我是多行注釋1
我是多行注釋2
"""
1.2標(biāo)識(shí)符
??標(biāo)識(shí)符是用來(lái)命名的(比如變量名、函數(shù)名、類名)
要求:a.由字母數(shù)字和下劃線組成,并且數(shù)字不能開(kāi)頭 --- python2.x規(guī)范,
b.在Unicode編碼中,除了ASCII碼表中的字母、數(shù)字、下劃線以外的部分不能作為標(biāo)識(shí)符的一部分,其他的都可以。數(shù)字不能開(kāi)頭 (由字母數(shù)字下劃線和中文組成,數(shù)字不能開(kāi)頭) --- python3.x規(guī)范
注意:在實(shí)際開(kāi)發(fā),現(xiàn)在還是推薦使用python2.x的規(guī)范
abc = 100
abc123 = 100
abc_123 = 20
_123 = 100
\# 1abc = 100 # 報(bào)錯(cuò):SyntaxError
你好 = 100
1.3語(yǔ)句
??C/Java語(yǔ)法,每條語(yǔ)句結(jié)束必須加分號(hào)。
python中一條語(yǔ)句結(jié)束可以加分號(hào)也可以不交;如果一行要顯示多條語(yǔ)句,那么每條語(yǔ)句之間必須加分號(hào);
print('hello python!'); print('hello world!')
1.4.行和縮進(jìn)
??python中對(duì)縮進(jìn)有嚴(yán)格規(guī)范,要求同樣等級(jí)的代碼對(duì)應(yīng)的縮進(jìn)必須一致;只有在需要產(chǎn)生代碼塊的時(shí)候才需要加縮進(jìn)
行:要求函數(shù)的聲明和類的聲明的前后需要有兩個(gè)空行(不會(huì)報(bào)錯(cuò))
print('abc')
# print('ABC') # IndentationError:unexpected indent
1.5多行顯示問(wèn)題
a.在需要換行的位置加,然后再換行(\不要破壞數(shù)據(jù)本身)
b.如果是列表、字典、元祖和集合的值,可以直接換行
sum1 = 1992374821734 + 391437128467 + \
4985749775 + 98347592367485+ 78 + 787834 \
+ 4767582 + 3756 + 398475
names = [
12,
787347,
298378,
972893748973, 39785,
2738957, 4273857,
342978, 3849758,
3487985, 48993
]
1.6常見(jiàn)的數(shù)據(jù)類型及其字面量
整型(int)、浮點(diǎn)型(float)、布爾(bool)、字符串(str)、列表(list)、字典(dict)、元祖(tuple)、集合(set)等
整型:相當(dāng)于數(shù)學(xué)中的整數(shù),例如:100, -12, +30,0
浮點(diǎn)型:帶小數(shù)點(diǎn)的數(shù), 例如:12.5, 3.14, 0.23, 0.0, -12.34
布爾:只有兩個(gè)值分別是True(真)和False(假)
字符串: 用單引號(hào)或者雙引號(hào)括起來(lái)的數(shù)據(jù), 例如:'abc', '100', "abc100=~"
1.7關(guān)鍵字(保留字)
??在python中有特殊功能和特殊意義的一些標(biāo)識(shí)符(單詞)。
import keyword # 導(dǎo)入keyword模塊
print(keyword.kwlist) # 打印所有的關(guān)鍵字
['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']
注意:在上面的[]中的內(nèi)容才是關(guān)鍵字,其他的都不是
2.常用快捷鍵

3.數(shù)據(jù)類型
??不同的類型,在內(nèi)存中存儲(chǔ)時(shí)候所占的內(nèi)存不一樣
3.1.python中的數(shù)字類型有四個(gè):整型(int)、浮點(diǎn)型(float)、布爾(bool)、復(fù)數(shù)(complex);
??a.整型(int):包含python所有的整數(shù),python3.x整型只有int類型這一種,但是python2.x除了int還有l(wèi)ong
100
123
-78
+782
??b.浮點(diǎn)型(float):包含python所有的小數(shù)
注意:浮點(diǎn)型支持科學(xué)計(jì)數(shù)法
12.89
-123.9098
+237.890
print(12e2) # 12*10^2 1200.0
print(12e-3) # 12*10^(-3) 0.012
??c.布爾(bool): 布爾類型的值只有兩個(gè),分別是True(真)和False(假)
注意:布爾值的首字母是大寫(xiě)的
True對(duì)應(yīng)的數(shù)值其實(shí)是1, False對(duì)應(yīng)的數(shù)值是0
True
False
print(False+1)
??d.復(fù)數(shù)(complex)
復(fù)數(shù):有實(shí)部和虛部組成的數(shù)字
10+10j
3.2.type(數(shù)值/變量): 獲取括號(hào)中值的類型
print(type(10j))
print(type(100))
print(type(True))
print(type(2e2))
3.3.類型名():將其他的類型的數(shù)據(jù)轉(zhuǎn)換成當(dāng)前類型
print(int(12.5))
print(bool(10))
print(float(100))
print(complex(100))
print(float(100+10j))
注意:復(fù)數(shù)不能轉(zhuǎn)換成整型/浮點(diǎn)型
4.變量
4.1.什么是變量
??聲明變量,就是在內(nèi)存中開(kāi)辟空間存儲(chǔ)數(shù)據(jù)。變量就是程序在內(nèi)存中存儲(chǔ)數(shù)據(jù)的容器
4.2.怎么聲明變量
??C/Java聲明變量: 類型 變量名 = 初值;
Python聲明變量: 變量名 = 初值
變量名 = 初值
說(shuō)明:
a.變量名:程序員自己命名,要求是標(biāo)識(shí)符,并且不能是關(guān)鍵字; 所有的字母必須是小寫(xiě)的,如果變量名是由多個(gè)單詞組成,多個(gè)單詞之間用下劃線隔開(kāi);見(jiàn)名知義(看見(jiàn)變量名,要知道這個(gè)變量大概存的是什么樣的數(shù)據(jù))
b. = :賦值符號(hào),功能是將=右邊的值賦給左邊的變量
c.初值:有值的表達(dá)式(具體的字面量、其他已經(jīng)聲明過(guò)的變量)
聲明一個(gè)變量number,并且賦值為100
number = 100
print(number)
True = 12.5 # SyntaxError: can't assign to keyword
1abc = True # SyntaxError: invalid syntax
ABC = 10j
student_name = '小明'
print(student_name)
注意:雖然int、float、bool、str等不是關(guān)鍵字,但是在需要命名的時(shí)候最好用他們來(lái)命名。否則會(huì)改變他們?cè)瓉?lái)的功能;
int = 100
print(int)
int(80.9)
4.3.聲明完一個(gè)變量可以給變量重新賦值
??重新賦值后,新的值會(huì)覆蓋變量中原來(lái)的值
student_name = '小花'
print(student_name)
python中,同一個(gè)變量可以存儲(chǔ)不同類型的值
student_name = 100
print(student_name)
4.同時(shí)聲明多個(gè)變量
??變量名1=變量名2=變量名3 = 初值
a = b = c = 123
print(a,b,c) # print同時(shí)打印多個(gè)數(shù)據(jù),多個(gè)數(shù)據(jù)之間用逗號(hào)隔開(kāi)
將變量student_name中的值,賦給new_name
new_name = student_name
注意:變量只有在賦完值后才能使用(只能聲明后才能使用)
print(new_name2) # definedNameError: name 'new_name2' is not
5.運(yùn)算符
??python中的運(yùn)算符包括:數(shù)字運(yùn)算符,比較,邏輯,賦值,位運(yùn)算
數(shù)學(xué)運(yùn)算符:+—*/% // **
/與c中不一樣
print(1/3)#0.33333333333333
%取余數(shù)
print(2.4%2)#0.3999^浮點(diǎn)數(shù)取余會(huì)不精確。
//(整除)取商的整數(shù)部分
print(5//2)
print(6.40//2)#3.0
**(冪運(yùn)算):求冪
print(3**2)#9
print(9**0.5)#開(kāi)平方
print(8**(1/3))#開(kāi)3方
比較運(yùn)算符:> < == != >= <=
比較結(jié)果為T(mén)rue或False
print(int(100==10)) #0
num=10
print(num==100)#False
print(num)#10
邏輯運(yùn)算符:and與,or或,not非(均為關(guān)鍵字)
邏輯運(yùn)算符運(yùn)算對(duì)象和結(jié)果均為bool
and全True為T(mén)rue
or全False為False
not取反
print(True and True)
print(True and False)
print(False or False)
print(True or False)
print(not True)
可以有多個(gè)and,or,not
python中的and和or會(huì)有短路現(xiàn)象:
False amd (bool2),不會(huì)判bool2的值。
賦值運(yùn)算符:= += -= *= /= //= **=
賦值運(yùn)算符左邊必須是變量
先計(jì)算賦值運(yùn)算符右邊的結(jié)果,在賦值給左邊
result=10>100
print(result)#False
+= -= = /= //= =要求左邊的變量本身必須是有值的
運(yùn)算符優(yōu)先級(jí):
數(shù)學(xué)運(yùn)算符>比較>邏輯>賦值
數(shù)學(xué)運(yùn)算符中>,/,%,//>+,-
print((10>100)-20)#-20d'j'f