一.python 入門
初始python
python的歷史
python的優(yōu)缺點
python應用
編程工具:IDLE,IPython,Sublime
常用快捷方式:
ctrl+-->添加單行注釋,ctrl+s-->保存,ctrl+b-->編譯執(zhí)行,ctrl+n-->新建文件,ctrl+c-->復制,ctrl+v-->粘貼,ctrl+a-->全選,ctrl+x-->剪切,ctrl+z-->撤銷,ctrl+y-->反撤銷,ctrl+f-->彈出搜索框
print函數(shù)是Python內置函數(shù),作用是在控制臺打印print后面()的任何內容
在python2.x中,print‘hello world’不用加括號
在Python3.x中,print后需要加括號
a。b。b 版本號。a--》重大修改(不向下兼容);b--》添加新功能;c--》修復bug
二.python基礎語法
1.注釋
注釋就是代碼源文件中,用來進行朱姐說明的文字,不會對代碼的功能產生任何的影響
好的代碼和好的程序員,需要對代碼通過注釋進行說明
開頭單行注釋
“““ 內容”””或者‘‘‘ 內容 ’’’ 多行注釋
編程語言中涉及的所有符號都是指英文輸入法狀態(tài)下的符號
2.標識符
標識符是用來程序中命名用的。(比如:變量名,類名,函數(shù)名)
a.標識符是字母,數(shù)字和下劃線組成,并且數(shù)字不能開頭(硬性)python3.x標志符中支持中文但不推薦使用
b.不能是關鍵字(保留字)(硬性)
c.大小寫敏感(區(qū)分大小寫,a和A不一樣)
d.要見名知義(規(guī)范)
e.不推薦使用python中的內置函數(shù),類名去做標識符(規(guī)范)
3.關鍵字
系統(tǒng)保留的有特殊功能或者特殊意義的一些單詞。這些單詞不能用來給變量或者函數(shù)或者類命名的
import keyword
print(keyword.kwlist)
4.行與縮進
縮進:每一行代碼的位置,與行開頭位置之間的空格
在python中縮進的寫法有嚴格的規(guī)范。同一級的代碼必須寫在同一個縮進下面。
如果在不該有空格產生的位置出現(xiàn)了多余的空格,程序會報錯(IndentationError);如果需要縮進的時候沒有縮進也會報錯
關于行的規(guī)范:
函數(shù)和類的聲明的前后必須要有兩個換行。一般一個功能實現(xiàn)完,實現(xiàn)下一個功能的時候最好也換行。
5.多行語句
一條語句在多行顯示
a.在需要換行的地方加(\),然后在換行
b.字典,列表,集合和元組等容器類型數(shù)據的字面量,在多行顯示的時候可以直接換行
python中,一條語句結束,可以不寫分號;但是如果一行中要寫多條語句,那么每條語句必須用分號隔開。
6.字面量
數(shù)據類型對應的具體的值
整數(shù)(10.100),小數(shù)(0.1),字符串(‘abc,“!78u”),布爾值(true,false),數(shù)字(12e2),復數(shù)(9+10j),
列表【1,2,‘hu’,】,字典{‘a’:1,‘b';‘123’}
7.python中的基本數(shù)據類型
數(shù)字(整形(int),浮點型,布爾,復數(shù)),字符串(str),列表(list),字典(dict),集合(set),元組(tuple),none(代表沒有和空)
整型:int(在python2.x中有l(wèi)ong)--》值是所有的整數(shù)
浮點型:float--》包含所有的小數(shù)和科學計數(shù)
布爾:bool--》值只有True(1)和False(0)
復數(shù);complex--》值包含所有的復數(shù)
可以type函數(shù)查看數(shù)據類型:type(數(shù)據)
print(type(10e2))
三.變量
變量
在程序中可以通過變量來存儲數(shù)據
怎么聲明變量
嚴格來說,python中變量是不需要聲明的,直接通過賦值符號(=)給變量賦值,就是在聲明變量。
因為python是動態(tài)語言,在聲明變量的時候,不需要指定變量的類型。并且同一個變量可以賦不同類型的值
格式: 變量名=值
變量名:標識符,PEP8的命名方式(所有的字母都小寫,多個單詞之間用下劃線隔開列入:user_name)
駝峰式命名:第一個單詞首字母小寫,后邊每個單詞的首字母都大寫(例如:userName)
聲明了一個變量age,并賦值18
age=18
print(age)
使用變量的時候,就相當于使用變量中存的值
student_age=20
print(type(student_age))
- 如果重新給一個變量賦值,那么新賦值會覆蓋原來的值
- 同一個變量可以賦不同類型的值
student_age=18.5
student_age='abc'
print(student_age,type(student_age))
補充:
一個數(shù)據有type(類型),id(數(shù)據儲存在計算機中的地址)和value(值)三個屬性
變量存儲數(shù)據的時候,有兩種情況。第一種情況:存value--->數(shù)字類型、字符串,第二種情況:存id--->列表,字典,集合,元組,自定義類的對象。
四.運算符
數(shù)學運算符、比較運算符、邏輯運算符、賦值運算符、位運算符(針對二進制的每一位)
1.數(shù)學運算符(+、-、、/、%、*、//)
+:求和
注意:求和操作,+號兩邊必須是數(shù)字類型
True--->1 False--->0
print(10+20.4,True+1)
number=100+11
print(number)
-:求差
print(100-12)
:求乘積
print(3.142)
number=39
print(number)
/:求商
print(4/2)
print(5/2)
%:求兩個數(shù)相處的余數(shù)
print(3%2)
print(101%10)
:冪運算
xy:求x得y次方
浮點數(shù)在計算機儲存的時候,有的時候會有一點的誤差
number=(2*3)
print(number)
//:整除
求商,但是只取商的整數(shù)部分
print(5//2)
取一個二位整數(shù)的十位數(shù)(78)
print(78//10)
取2345中的4:
print(2345%100//10)
print(2345//10%10)
2.比較運算符
'''>,<,==,>=,<=,!=
比較運算符的結果全是布爾:True,False
1.>x>y:判斷x是否大于y,如果是結果是True,否則是False
resulut=10>20
print(resulut)
其余比較同理
在python中,可以像數(shù)學中一樣,連續(xù)判斷
numer=15
resulut=10<number<20 #判斷number是否在10到20之間
print(resulut)
3.邏輯運算符
與(and),或(or),非(not)
運算數(shù)據是布爾值,結果也是布爾值
布爾1 布爾2 進行邏輯運算
and:都為Ture ,結果才是Ture
需要兩個或者多個條件同時滿足,就使用邏輯與(and)
or:一個為Ture,結果為Ture
需要兩個或者多個條件其中一個滿足時,就使用邏輯或(or)
not: not 布爾1,如果布爾1是T,結果是F,反之亦然。
需要不滿足這個條件的時候,在該條件前加not
成績不低于60分
score=70
print(score>=60)
print(not score<60) #都可以
寫一個條件,判斷一個人的年紀是否滿足青年的條件(年紀大于18并小于28)
age=20
print(age>18 and age<28)
4.賦值運算符
=,+=,-=,=,/=,%=,*=,//=
賦值運算符的作用:將賦值符號右邊的表達式的值賦給左邊的變量
表達式:有結果的語句。例如:10,'abc',10+20,30>10.5等
賦值符號的左邊必須是變量
賦值符號,是先算右邊的結果,然后再把結果賦給左邊的變量
number=100
number +=10 #相當于:number=number+10
print(number)
number *=2
print(number)
其余運算同理。
5.運算符的優(yōu)先級
優(yōu)先級從低到高:賦值運算符<邏輯運算符<比較運算符<算數(shù)運算符
算術運算符中:先冪運算再乘除取余取整在加減
如果你不確定運算順序,可以通過添加括號來改變運算。有括號先算括號里面的。
resulut=10+20>15 and 7*8<30+60
resulut=30>15 and 56<90
resulut=True and Ture
result=True
print(resulut)
五.進制轉換
數(shù)據在計算機里面的儲存,存的都是二進制數(shù)(0101010101...)
1. 認識十進制、二進制、八進制、十六進制
1,十進制
基數(shù):0,1,2,3,4,5,6,7,8,9
特點:縫10進1
2,二進制
基數(shù);0,1
特點:縫2進1
101011=1(2^0)+1(21)+0*(22)+1(2^3)+0(24)+1*(25)
=1+2+0+8+0+32
=43
3.八進制
基數(shù):0,1,2,3,4,5,6,7
特點:縫8進1
24=4(8^0)+2(8^1)=20
4.十六進制
基數(shù):0-9,a-f --a=10,b=11,c=12,d=13,e=14,f=15
特點:縫16進1
2f=32+15=47
十進制轉換成二進制:除2取余
123~1111011
其余同理:整除取余法(除到0)
八進制轉二進制:一位八進制轉換成三位二進制--->23=010 011
十六進制轉換二進制:一位十六進制轉換成四位的2進制--->2f = 0010 1111
2.python中的 二進制,八進制,和十六進制
默認的數(shù)字都是10進制
基數(shù)是0,1,并且數(shù)字前加前綴0b表示二進制(例如 0b1011)
bin(整數(shù))-->將其他進制的整數(shù)轉換成二進制
print(bin(10))#--->0b1010
基數(shù)是0-7,并且數(shù)字前加前綴0o表示八進制(例如 0o176)
oct(整數(shù))-->將其他進制的整數(shù)轉換成八進制
print(oct(10))#--->0o12
基數(shù)是0-9,a-f,并且數(shù)字前加前綴0x表示十六進制(例如 0x1a)
print(0xff)#--->255
hex(整數(shù))-->將其他進制的整數(shù)轉換成十六進制
print(hex(10))#---> 0xa