1.常用快捷方式:
control + / ----單行注釋
control + s ----保存(沒事就按)
control + b ----編譯(編譯執(zhí)行供璧,其他語言中C+R是編譯還需要執(zhí)行,在python中直接執(zhí)行慨削,沒編譯)
control + n ----新建文件
control + c ----復(fù)制
control + v ----粘貼
control + a ----全選
control + x ----剪切
control + z ----撤銷
control + y / contol + shift + z ----反撤銷
按住control不放,讓鼠標(biāo)可以同時(shí)在多個(gè)位置設(shè)置光標(biāo)
shift + 左鍵
control + f ----彈出搜索框
控制臺(tái)的東西,只有程序員能看見,用作調(diào)試纵揍。
2.print函數(shù)是python內(nèi)置函數(shù),作用是在控制臺(tái)打印print后面()里面的任何內(nèi)容议街。
()里面的單引號(hào)泽谨,是字符串的標(biāo)志(標(biāo)志hello world是字符串),而不是內(nèi)容特漩。
在python2.x中是 print 'hello world'
在python3.x中是 print 后面需要括號(hào)('hello world')
A.B.C版本號(hào) A --> 重大修改(不向下兼容) B --> 添加新的功能 C --> 修復(fù)bug
print('hello world~')
print('你好')
1.注釋
注釋就是代碼源文件中吧雹,用來進(jìn)行注解說明的文字,不會(huì)對(duì)代碼的功能產(chǎn)生任何影響.
注意:好的代碼和好的程序員涂身,需要對(duì)代碼通過注釋進(jìn)行說明
# 我是單行注釋
"""這是多行注釋(三個(gè)雙引號(hào)雄卷,常用)"""
'''’這是多行注釋(三個(gè)單引號(hào))'''
補(bǔ)充: 編程語言中涉及到的所有的符號(hào),都是指的英文輸入法狀態(tài)下的符號(hào)
2. 標(biāo)識(shí)符
標(biāo)識(shí)符是用來程序中命名
用的蛤售。(比如:變量名丶類名丶函數(shù)名)
a.標(biāo)識(shí)符是由字母丶數(shù)字和下劃線組成
丁鹉,并且數(shù)字不能開頭(硬性)
--- python3.x中,標(biāo)識(shí)符里面可以有中文(但是不推薦使用)(例如1hu=100,錯(cuò))
b.不能是關(guān)鍵字(有特殊的功能)(保留字,硬性)(例如in=100悴能,錯(cuò))
c.大小寫敏感(區(qū)分大小寫揣钦,aaa和Aaa、AAA漠酿、AAa是不一樣的)
d.要見名知意(規(guī)范,看到名字知道意思)
e.不推薦使用python中的內(nèi)置函數(shù)冯凹、類名去作為標(biāo)識(shí)符(規(guī)范)
3.關(guān)鍵字
系統(tǒng)保留的有特殊功能或者特殊意義的一些單詞。這些單詞不能用來給變量\函數(shù)\類等命名的炒嘲。
關(guān)鍵字:
'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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'
獲取關(guān)鍵字
import keyword
print(keyword.kwlist)
4.行與縮進(jìn)
縮進(jìn):每一行代碼的位置與行開頭的位置之間的空格宇姚。
在python中,縮進(jìn)的寫法有嚴(yán)格的規(guī)范夫凸。
同一級(jí)的代碼浑劳,必須寫在同一個(gè)縮進(jìn)下面。
如果在不該有空格產(chǎn)生的位置產(chǎn)生了多余的空格寸痢,程序會(huì)報(bào)錯(cuò)(IndentationError);如果在需要縮進(jìn)的時(shí)候沒有縮進(jìn)也會(huì)報(bào)錯(cuò)
關(guān)于行的規(guī)范:
函數(shù)和類的聲明的前后必須要有兩個(gè)換行呀洲。一般一個(gè)功能實(shí)現(xiàn)完,實(shí)現(xiàn)下一個(gè)功能的時(shí)候,最好也換行道逗。
print('a')
5.多行語句
一條語句在多行顯示兵罢。
a.在需要換行的地方加反斜杠
,然后再換行
b.字典、列表滓窍、集合和元組等容器類型數(shù)據(jù)的字面量
卖词,在多行顯示的時(shí)候可以直接換行。
python中吏夯,一條語句結(jié)束此蜈,可以不寫分號(hào);但是如果一行中要寫多條語句噪生,那么每條語句之間必須使用分號(hào)隔開
a
print('aaaa'); print('bbbb')
print('sssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaa\
aaaaaadaaaaaaaaadaaaaaaaaaaaaaaaaaass\
aaaa')
b
print([1,2,3,4,
5,6,7,8,
9,10,11,12])
6.字面量
數(shù)據(jù)類型對(duì)應(yīng)的具體的值
10裆赵,100,-12 --->整數(shù)
12.5跺嗽,3.1415926战授,-0.13 --->小數(shù)
12e2,9e-2 --->科學(xué)計(jì)數(shù)
9+10j --->復(fù)數(shù)
'hello world','123','abc',"abcd","!78u" --->字符串
True, Flase ---> 布爾值
[1,2,'hu','assd'] --->列表
{'a':1,'b':'123'} --->字典
···
7.python中的基本數(shù)據(jù)類型
數(shù)字(整型(int
)、浮點(diǎn)型(float
)桨嫁、布爾(bool
)植兰、復(fù)數(shù)(complex
)、字符串(str
)璃吧、列表(list
)楣导、字典(dict
)、集合(set
)畜挨、元組(tuple
)筒繁、none--->代表沒有和空值
整型:int (在python2.x有l(wèi)ong)--->值是所有的整數(shù)
浮點(diǎn)型:float --->包含所有的小數(shù)、科學(xué)計(jì)數(shù)
布爾:bool --->值只有True和Flase
復(fù)數(shù):complex --->值包含所有的復(fù)數(shù)
可以通過type函數(shù)查看數(shù)據(jù)的類型:type(數(shù)據(jù))
print(type(12e2))
print(type('abc'))
print(type(True))
什么是變量變量需遵從標(biāo)識(shí)符的規(guī)定
在程序中可以通過變量來存儲(chǔ)數(shù)據(jù)(容器)
怎么聲明變量
嚴(yán)格來說巴元,python中的變量是不需要聲明的膝晾,直接通過賦值符號(hào)(=)
給變量賦值,就是在聲明變量务冕。
因?yàn)閜ython是動(dòng)態(tài)語言,在聲明變量的時(shí)候幻赚,不需要指定變量的類型禀忆。并且,同一個(gè)變量可以賦不同類型的值
聲明格式:變量名 = 值
變量名:標(biāo)識(shí)符落恼,PEP8的命名方式(所有的字母都小寫箩退,多個(gè)單詞之間用下劃線隔開,例如:user_name)
駝峰式命名:第一個(gè)單詞首字母小寫佳谦,后邊每個(gè)單詞的首字母都大寫(例如:userName)
聲明一個(gè)變量age戴涝,并且賦值為18
age = 18
age = True
print(age)
輸出為True
使用變量的時(shí)候,就相當(dāng)于使用變量中存的值
student_age = 18
print(type(student_age))
輸出為int
1.如果重新給一個(gè)變量賦值,那么新賦的值會(huì)覆蓋原來的值
2.同一個(gè)變量可以賦不同類型的值
student_age = 18
student_age = 'abc'
print(student_age,type(student_age))
輸出為abc&str
print(student_name) # NameError
補(bǔ)充:
一個(gè)數(shù)據(jù)有type(類型)
啥刻、id(數(shù)據(jù)存儲(chǔ)在計(jì)算機(jī)中的地址)
和value(值的大小)
三個(gè)屬性
變量存儲(chǔ)數(shù)據(jù)的時(shí)候奸鸯,有兩種情況。
第一種情況:存value ---> 數(shù)字類型可帽、字符串
第二種情況:存id ---> 字典娄涩、列表、集合映跟、元組蓄拣、類的對(duì)象等等
number = 10
print(id(number))
輸出為8791506998592,地址
數(shù)學(xué)運(yùn)算符努隙、比較運(yùn)算符球恤、邏輯運(yùn)算符、賦值運(yùn)算符荸镊、位運(yùn)算符(針對(duì)二進(jìn)制的每一位)
1.數(shù)學(xué)運(yùn)算符(+
咽斧、—
桂躏、*
凤薛、/
、%(求余)
砸讳、**(冪運(yùn)算)
优构、//(整除)
)
+:求和
注意:求和操作诵叁,+兩邊必須是數(shù)字類型
True --> 1 Flase --> 0
print(True+1,10+20.4)
number= 100 + 11
print(number)
2,30.4,111
—:求差
print(100-12)
number = 99 - 66
print(number)
88,33
*:求乘
print(3.12*2)
number = 3 * 9
print(number)
6.24,27
/:求商
print(4/2)
print(5/2)
2,2.5
%:求上個(gè)數(shù)相除的余數(shù)
10/2=5···0
print(3%2)
print(101%10)
1,1
**:冪運(yùn)算:
x ** y:求x的y次方
浮點(diǎn)數(shù)在計(jì)算機(jī)中存儲(chǔ)時(shí),有時(shí)候會(huì)有一定的誤差
number = 2.1 ** 3
print(number)
9.261000000000001
//:整除
求商但只取整數(shù)部分
print(5//2)
2
取一個(gè)二位整數(shù)的十位數(shù)(78)
print(78//10)
7
取2345中的4:
print(2345%100//10)
print(2345//10%10)
2.比較運(yùn)算符
>钦椭、<拧额、==、>=彪腔、<=侥锦、!=
比較運(yùn)算符的結(jié)果全是布爾: True、Flase
1.>大于
x>y:判斷x是否大于y,如果是結(jié)果是True德挣,否則是False
result = 10 > 20
print(result)
print(10>20,100>20)
False,False,True
2.<小于
print(10<20)
True
3.==等于
x == y:如果x和y相等恭垦,結(jié)果就是True,否則是False
number = 12.5
number2=12
print(number==number2)
False
4.>=格嗅、<=大于等于番挺,小于等于
10 >= 5 # True
10 >= 10 # True
5.!=不等于
x != y:如果x和y不相等,結(jié)果是True屯掖,否則是False
6.在python中玄柏,可以像數(shù)學(xué)中一樣,連續(xù)判斷
number = 15
result = 10<number<20 # 判斷number是否在10到20之間
print(result)
True
3.邏輯運(yùn)算符
與(and)贴铜、或(or)粪摘、非(not)
邏輯運(yùn)算的運(yùn)算數(shù)據(jù)是布爾值瀑晒,結(jié)果也是布爾值
布爾1 and 布爾2:兩個(gè)都為True,結(jié)果才是True徘意,只要有一個(gè)是False苔悦,結(jié)果就是False。 并且
需要兩個(gè)或者多個(gè)條件同時(shí)滿足映砖,就使用邏輯與(and)
布爾1 or 布爾2:只要有一個(gè)是True间坐,結(jié)果就是True,兩個(gè)都是False邑退,結(jié)果才是False竹宋。 或者
需要兩個(gè)或者多個(gè)條件中滿足一個(gè)就可以,就是用邏輯或(or)
not 布爾1:如果是True地技,結(jié)果就是False蜈七,如果是False,結(jié)果就是True莫矗。 非飒硅,對(duì)布爾值取反 需要不滿足某個(gè)條件的時(shí)候才為True
寫一個(gè)條件,判斷一個(gè)人的年齡是否滿足青年的條件(年齡大于18并且小于28作谚,而且還不能是20歲)
age = 20
print(age>18 and age<28 and age!=20)
False
平均成績(jī)大于90分三娩,或者操評(píng)分大于100分,并且英語成績(jī)還不能小于80分
score = 88
score2 = 90
english = 90
print('===:',score>90 or score2>100 and english>80)
False
成績(jī)不低于60分
score = 70
print(score>=60)
print(not score<60)
True
4.賦值運(yùn)算符
=妹懒、+=雀监、-=、=眨唬、/=会前、%=、*=匾竿、//=
賦值運(yùn)算符的作用:將賦值符號(hào)右邊的表達(dá)式的值賦給左邊的變量
表達(dá)式:有具體結(jié)果的語句瓦宜,例如:10,'abc',10+20,30>10.5等
賦值符號(hào)的左邊必須是變量
賦值符號(hào)岭妖,是先算右邊的結(jié)果临庇,然后再把結(jié)果賦給左邊的變量
number = 100
number += 10 # 相等于:number = number +10
print(number)
number *= 2 # number = number * 2
print(number)
110,220
5.運(yùn)算符的優(yōu)先級(jí)
10+20*3-5/2 = 67.5 ---數(shù)學(xué)運(yùn)算順序
優(yōu)先級(jí)從高到低:算術(shù)運(yùn)算符>比較運(yùn)算符>邏輯運(yùn)算符>賦值運(yùn)算符
算術(shù)運(yùn)算符中:先冪運(yùn)算乘除取余取整,再加減
如果不確定運(yùn)算順序,可以通過添加括號(hào)來改變運(yùn)算順序昵慌。有括號(hào)就先算括號(hào)里面的
result = 10 + 20 > 15 and 7 * 8 < 30 + 60
True
result = 30 > 15 and 56 < 90
result = True and True
result = True
print(result)
print(10 + 20 * 3 / 2 - 10 % 3)
10 + 30 -1
39
print(10*2**2)
print(10 + 20 * 3 / (2 - 10)%3)
10 + 20 * 3 /(-8)%3
10 + 60/(-8)%3
10 + (-7.5)%3
10 + 1.5
40, 11.5
數(shù)據(jù)在計(jì)算機(jī)中的儲(chǔ)存苔巨,存的都是二進(jìn)制數(shù)(0101···)
認(rèn)識(shí)十進(jìn)制、二進(jìn)制废离、八進(jìn)制、十六進(jìn)制
1.十進(jìn)制
基數(shù):0.1.2.3.4.5.6.7.8.9
特點(diǎn):逢10進(jìn)1
12345 = 5+40+300+2000+10000
= 51 + 410 + 3100 + 21000 + 210000
= 5(10^0)+ 4(10^1) + 3(10^2) + 2(10^3) + 1(10^4)
2.二進(jìn)制
基數(shù):0.1
特點(diǎn):逢2進(jìn)1 10 ---> 2
101011 = 1(2^0)+1(21)+0*(22)+1(2^3)+0(24)+1*(25)
= 1+2+0+8+0+32
= 43
3.八進(jìn)制
基數(shù):0.1.2.3.4.5.6.7
特點(diǎn):逢8進(jìn)1 12 ---> 10
12 = 2(8^0)+1(8^1) = 2 + 8 = 10
24 = 4(8^0)+2(8^1) = 20
4.十六進(jìn)制
基數(shù):0-9,a-f(A-F) -- a=10,b=11,c=12,d=13,e=14,f=15
特點(diǎn):逢16進(jìn)1 a ---> 10
2f = 2(16^1)+15(16^0)=32+15=47
進(jìn)制間的轉(zhuǎn)換:
十進(jìn)制轉(zhuǎn)換成其他進(jìn)制:整除取余
八進(jìn)制轉(zhuǎn)二進(jìn)制:一位八進(jìn)制轉(zhuǎn)換成三位二進(jìn)制 ---> 23 = 010 011
十六進(jìn)制轉(zhuǎn)二進(jìn)制:一位十六進(jìn)制轉(zhuǎn)換成四位二進(jìn)制 ---> 2f = 0010 1111
2.python中的二進(jìn)制礁芦、八進(jìn)制蜻韭、十六進(jìn)制
## 默認(rèn)的數(shù)字都是10進(jìn)制
169 # 10進(jìn)制數(shù)
a.二進(jìn)制
基數(shù)是0悼尾、1,并且數(shù)字前加前綴0b
表示二進(jìn)制
0b1011
如果輸入 0b1234 就會(huì)報(bào)錯(cuò) SyntaxError
bin(整數(shù)) ->將其他進(jìn)制的整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
print(bin(10))
print(bin(0x10))
0b1010,0b10000
b.八進(jìn)制
基數(shù)是0-7肖方,并且數(shù)字前加0o或者0O表示八進(jìn)制
0o176
0O123
oct(整數(shù))
->將其他進(jìn)制的整數(shù)轉(zhuǎn)換成八進(jìn)制
print(oct(10))
0o12
c.十六進(jìn)制
基數(shù)是0-9闺魏,a到f(A-F),并且數(shù)字前加0x或者0X表示十六進(jìn)制
0x1a
0X1a
print(0xff)
print(hex(10))
print(bin(9))
print(bin(53))
255,0xa,0b1001,0b110101