01-python初識(shí)
02-python3基礎(chǔ)語(yǔ)法
03-python3基本數(shù)據(jù)類型
04-進(jìn)制轉(zhuǎn)換
05-變量
06-運(yùn)算符
07-math模塊中常用函數(shù)
01-python初識(shí)
======常用的快捷鍵========
ctr+b 執(zhí)行(sublim)
ctr+/ 單行注釋
ctr+c 拷貝
ctr+v 粘貼
ctr+s 保存
ctr+z 撤銷
ctr+shift+z 反撤銷
ctr+a 全選
ctr+x 剪切
ctrl + 單擊選中的函數(shù)扰路,進(jìn)入函數(shù)的解釋界面
ctrl+f-->輸入要替換目標(biāo)-->ctrl+r-->輸入更新的內(nèi)容-->replace all
版本號(hào)A.B.C
A在語(yǔ)言做重大修改,一般不兼容之前的版本倔叼。
B在做功能增加的時(shí)候汗唱,B的值增加。
C在修復(fù)BUG時(shí)候缀雳,值增加渡嚣。
注意:我們目前講的Python都是Python3.x
print是Python中的內(nèi)置函數(shù)梢睛,功能是在控制臺(tái)打印括號(hào)中的內(nèi)容
print函數(shù)只是在程序員自己做測(cè)試的時(shí)候去使用
print("hello world~") #python2.x中 print "hello world"
02-python3基礎(chǔ)語(yǔ)法
2.1.注釋:
注釋就是穿插代碼中的說(shuō)明性文字肥印,對(duì)于代碼實(shí)現(xiàn)功能無(wú)任何作用,注釋不會(huì)參與執(zhí)行绝葡。在寫(xiě)代碼的時(shí)候需要經(jīng)常寫(xiě)注釋
單行注釋:就是在注釋的內(nèi)容前加#
# 注釋一行注釋
# 這是第二行注釋
多行注釋:
a.在每一行前面加#
使用'''或者"""括起來(lái)(推薦使用上三個(gè)""")
'''
這是多行注釋
這是多行注釋
這是多行注釋
'''
"""
這是多行注釋
這是多行注釋
這是多行注釋
"""
2.2.標(biāo)識(shí)符
在開(kāi)發(fā)中使用的所有的名字都是標(biāo)識(shí)符(包括變量名深碱、函數(shù)名、類名藏畅、對(duì)象名等)
硬性要求:
1.由字母(a-z,A-Z)敷硅、數(shù)字(0-9)功咒、下劃線(_)組成
2.數(shù)字不能開(kāi)頭
3.不能是保留字(關(guān)鍵字)(后邊會(huì)涉及)
規(guī)范:
1.要見(jiàn)名知意
2.PEP 8規(guī)范(變量名):全部小寫(xiě),如果名字是由多個(gè)單詞組成绞蹦,單詞之間以_分開(kāi)
補(bǔ)充:駝峰式:如果名字是由多個(gè)單詞組成力奋,第一個(gè)單詞首字母是小寫(xiě),后面的每個(gè)單詞第一個(gè)字母大寫(xiě)
python中大小寫(xiě)敏感:Key和key是不一樣的
a2_=1
abc=2
a+b=3 #SyntaxError: can't assign to operator 語(yǔ)法錯(cuò)誤:不能賦值給操作符
2d=1 #SyntaxError: invalid syntax 語(yǔ)法錯(cuò)誤:無(wú)效語(yǔ)法
for=2 #SyntaxError: invalid syntax (for 是關(guān)鍵字)
cat_name = 1 #PEP 8
catName = 1 #駝峰式
2.3.關(guān)鍵字(保留字)
在Python中有自己獨(dú)特功能的一些單詞幽七,程序員在使用標(biāo)識(shí)符的時(shí)候不能使用關(guān)鍵字
import keyword #導(dǎo)入內(nèi)置keyword模塊
keyword.kwlist #獲取所有關(guān)鍵字
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.行與縮進(jìn)
在python中景殷,語(yǔ)法對(duì)縮進(jìn)有嚴(yán)格的規(guī)范。同一級(jí)的代碼要寫(xiě)在一個(gè)縮進(jìn)下(縮進(jìn)->空格和制表符tab)
行:可以通過(guò)換行將代碼分塊澡屡,要求函數(shù)定義和其他代碼之間要有一個(gè)換行猿挚,類的聲明和其他代碼之間要有兩個(gè)換行。(不按要求來(lái)不會(huì)報(bào)錯(cuò))
abc=1
\# abc前多了一個(gè)空格驶鹉,IndentationError:unexpected indent 縮進(jìn)錯(cuò)誤:意外縮進(jìn)
注意:語(yǔ)法相關(guān)的所有符號(hào)绩蜻,都必須是英文輸入法下的符號(hào)。
2.5.多行語(yǔ)句
一行代碼很長(zhǎng)室埋,需要多行顯示
python中办绝,如果一行只有一個(gè)語(yǔ)句,那么語(yǔ)句后面可以不寫(xiě)分號(hào)(寫(xiě)了不會(huì)報(bào)錯(cuò))
如果一行中有多條語(yǔ)句词顾,那么語(yǔ)句間要用分號(hào)(;)分開(kāi)
bbb=2
ccc=3
ddd=4
sum1=aaa+bbb+ccc+ddd
sum2=aaa+\
bbb+\
ccc+\
ddd
\可以將一行代碼寫(xiě)成多行八秃,相當(dāng)于還是在一行里,可以任意縮進(jìn)肉盹,不會(huì)出錯(cuò)
列表昔驱、字典、元組上忍、集合的元素在多行顯示的時(shí)候骤肛,可以不用\連接
dict1={
'name':'yuting',
'age':18,
'gender':'女'} #dict 字典
03-python3基本數(shù)據(jù)類型
python3中標(biāo)準(zhǔn)的數(shù)據(jù)類型有六種
Number(數(shù)字)、Str(字符串)窍蓝、List(列表)腋颠、Tuple(元組)、Set(集合)吓笙、Dict(字典)
3.1.數(shù)字
python中的數(shù)字分為:整型(整數(shù))淑玫、浮點(diǎn)型(小數(shù))、布爾面睛、復(fù)數(shù)(實(shí)部+虛部)
整型(int):python3中只有長(zhǎng)整型int絮蒿,python2中有l(wèi)ong 例如:23、100叁鉴、-25土涝、0
浮點(diǎn)型(float):python3只有float類型,例如:12.8幌墓、1.0但壮、0.0冀泻、-10.5、2e2蜡饵、2e-2
布爾(bool):表示真假(是否)的值弹渔,值只有True(1)和False(0)兩個(gè)值
復(fù)數(shù)(complex):由實(shí)部和虛部組成,例如: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.字符串
由單引號(hào)或者雙引號(hào)括起來(lái)的數(shù)據(jù)就是字符串(推薦使用單引號(hào))
python中沒(méi)有字符類型捞附,所說(shuō)的字符就是用引號(hào)括起來(lái)的長(zhǎng)度是1的字符串
'hello world' '123' '1' #字符串中單獨(dú)的一個(gè)符號(hào)就是一個(gè)字符
'!2Dfs'
'' #空串,長(zhǎng)度是0
' ' #空格字符串是有意義的字符串
python需要轉(zhuǎn)義字符“\”來(lái)表示一些特殊的字符串:包括一些有特殊意義和特殊功能的字符串
'\''
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-進(jìn)制轉(zhuǎn)換
進(jìn)制:十進(jìn)制、二進(jìn)制氨鹏、八進(jìn)制欧募、十六進(jìn)制(要求:認(rèn)識(shí)、會(huì)轉(zhuǎn)換)
4.1十進(jìn)制:
基數(shù):0,1,2,3,4,5,6,7,8,9
逢十進(jìn)一(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 #直接寫(xiě)數(shù)字仆抵,就是十進(jìn)制
print(12) #可以直接將數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制
print(0xae)
4.2 二進(jìn)制:
(計(jì)算機(jī)在存儲(chǔ)數(shù)據(jù)的時(shí)候跟继,存的都是二進(jìn)制數(shù))
逢二進(jìn)一(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
二進(jìn)制轉(zhuǎn)10進(jìn)制(相乘求和):每一位上的數(shù)乘以當(dāng)前位上2的冪次數(shù)(從低位到高位,冪次數(shù)從0開(kāi)始依次加1)
0b1011 #在數(shù)字前加'0b'表示二進(jìn)制
print(0b1011)
bin() #該函數(shù)可將括號(hào)中的數(shù)字轉(zhuǎn)換成二進(jìn)制數(shù)镣丑,返回的是字符串形式的數(shù)據(jù)
print(bin(0o75))
4.3八進(jìn)制:
基數(shù):0,1,2,3,4,5,6,7
26:6*8^0+2*8^1=22
10:8^1=8
0o10 #在數(shù)字前加'0o'表示八進(jìn)制
print(oct(10)) #將括號(hào)里面的數(shù)據(jù)轉(zhuǎn)換成8進(jìn)制
print(oct(0b110011))
4.4十六進(jìn)制:
逢十六進(jìn)一(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'表示十六進(jìn)制
print(hex(10)) #將括號(hào)里面的數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制
print(hex(0o67))
4.5進(jìn)制轉(zhuǎn)換
a.其他進(jìn)制轉(zhuǎn)換成十進(jìn)制:相乘求和
b.十進(jìn)制轉(zhuǎn)換成其他進(jìn)制:整除取余法
100->(2) 1100100
100->(8) 12-4 1-4 0-1=144
100->(16) 6-4 0-6=64
c.二進(jìn)制和八進(jìn)制(每三位二進(jìn)制轉(zhuǎn)換成一位八進(jìn)制)舔糖、十六進(jìn)制(每四位二進(jìn)制轉(zhuǎn)換成一位十六進(jì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-變量
變量用來(lái)存儲(chǔ)數(shù)據(jù)的
在python中聲明變量不用指定類型,一個(gè)變量可以存儲(chǔ)任何類型的數(shù)據(jù)
5.1.聲明變量:變量名 = 初值
變量名:a.標(biāo)識(shí)符; b.PEP 8命名方式; c.見(jiàn)名知意
= :賦值符號(hào)莺匠,要求賦值符號(hào)的左邊必須是變量 a=10金吗;
a =10
10=20 # SyntaxError: can't assign to literal 不能賦值
初值:python中聲明變量必須賦值
name='YuTing' #聲明一個(gè)變量,并且賦了初值為'YuTing'
同時(shí)聲明三個(gè)變量a,b,c他們的初值都是10
a=b=c=10
同時(shí)聲明了三個(gè)變量a1,b1,c1;他們對(duì)應(yīng)的初值分別是10,12.6,aaa
a1,b1,c1=10,12.6,'aaa'
一個(gè)變量可以存儲(chǔ)多種類型的值,(python是動(dòng)態(tài)語(yǔ)言)
name=100
age=a
print(age)
06-運(yùn)算符
python中的運(yùn)算符:算術(shù)運(yùn)算符趣竣、比較運(yùn)算符摇庙、賦值運(yùn)算符、邏輯運(yùn)算符
6.1.算術(shù)運(yùn)算符:+(加)遥缕、-(減)卫袒、*(乘)、/(除)单匣、%(求余)夕凝、//(整除)、**(冪運(yùn)算)
+户秤、-码秉、*、/虎忌、%和數(shù)學(xué)里面相應(yīng)的運(yùn)算時(shí)一模一樣
print(12+10.0) #22.0
print(100-8) #92
print(10*7) #70
print(5/2) #2.5
print(10%4) #2
//(整除):可以對(duì)浮點(diǎn)數(shù)做整除的操作泡徙,只是結(jié)果只保留整數(shù)的部分(直接去掉小數(shù)部分)
print(16//10) #1
print(16/10) #1.6
print(10//3) #3
x**y:計(jì)算x的y次方
print(2**3) #計(jì)算2的3次方
練習(xí):獲取n(三位數(shù))的個(gè)位數(shù)橱鹏、十位數(shù)膜蠢、和百位數(shù)
n=789
# 百位數(shù):
print('百位數(shù):',n//100)
# 十位數(shù):
print(n%100//10)
print(n//10%10)
# 個(gè)位數(shù):
print('個(gè)位數(shù):',n%10)
通過(guò)import關(guān)鍵字可以導(dǎo)入python中內(nèi)置的模塊
math是python內(nèi)置的一個(gè)提供數(shù)學(xué)運(yùn)算的模塊
import math
07-math模塊中的函數(shù)
先用import關(guān)鍵字導(dǎo)入python中內(nèi)置的math模塊才能使用
import math
7.1factorial(n):求n的階乘
num=math.factorial(10)
print(num)
7.2fabs(n):求n的絕對(duì)值
num1=math.fabs(-20)
print(num1)
7.3pi:圓周率
print(math.pi)
7.4fmod(x,y) 取余數(shù)堪藐,值是一個(gè)浮點(diǎn)數(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的自然對(duì)數(shù),默認(rèn)以e為基數(shù),對(duì)于給定基數(shù)n:log(x)/log(n)
num3=math.log(125)/math.log(5)
print(num3) # value=3.0000000000000004 最后的4為儲(chǔ)存錯(cuò)誤 5^3=125
print('%.2f'%num3) #value=3.00 限定小數(shù)位數(shù)可確保數(shù)值精確
n=math.log1p(8) #返回x+1對(duì)x的對(duì)數(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