一、一門編程語(yǔ)言入門標(biāo)配語(yǔ)句——Hello World!
1. 常用快捷鍵
- Ctrl + / -------------- 單行注釋
- Ctrl + s -------------- 保存
- Ctrl + b -------------- 編譯執(zhí)行
- Ctrl + n -------------- 新建文件
- Ctrl + c -------------- 復(fù)制
- Ctrl + v -------------- 粘貼
- Ctrl + a -------------- 全選
- Ctrl + x -------------- 剪切
- Ctrl + z -------------- 撤銷
- Ctrl + y/ Ctrl + shift + z -------------- 反撤銷
- 按住Ctrl不放盐捷,可在多個(gè)位置設(shè)置光標(biāo)
- Ctrl + f -------------- 彈出搜索框
2. 內(nèi)置函數(shù)與 Hello World !
2.1. print()函數(shù)柿扣,內(nèi)置函數(shù),在控制臺(tái)打印參數(shù)內(nèi)容第喳,( )里面的引號(hào),是字符串標(biāo)志,而不會(huì)被打印到控制臺(tái)仗处。
(注意: 在Python 2.x 中,應(yīng)為: print 'hello world!')
這是代碼
print("Hello World!")
這是結(jié)果
Hello World!
2.2. 關(guān)于版本號(hào)的一些小知識(shí)
對(duì)于版本號(hào)A.B.C.
A > 重大修改(一般不向下兼容)
B > 添加新的功能
C > 修復(fù)Bug
二枣宫、Python中的基礎(chǔ)語(yǔ)法
1.注釋
注釋是解釋說(shuō)明的文字婆誓,不參與編譯運(yùn)行
注意:好的程序員和好的代碼也颤,需要對(duì)代碼通過(guò)注釋進(jìn)行解釋說(shuō)明
# 單行注釋
"""
多行注釋
"""
'''
多行注釋
'''
補(bǔ)充:編程語(yǔ)言中涉及的符號(hào)都是英文符號(hào)
2. 標(biāo)識(shí)符
標(biāo)識(shí)符是用來(lái)程序中命名的. (例如: 變量名洋幻、類名、函數(shù)名)
- 標(biāo)識(shí)符由字母翅娶、數(shù)字和下劃線組成, 且不能由數(shù)字開(kāi)頭(硬性)
- 標(biāo)識(shí)符不能是關(guān)鍵字(保留字)(硬性)
- 大小寫(xiě)敏感(區(qū)分大小寫(xiě))
- 要見(jiàn)名之義(規(guī)范)
- 不推薦使用Python中內(nèi)置函數(shù)文留、類名來(lái)作為標(biāo)識(shí)符(規(guī)范)
3.關(guān)鍵字
系統(tǒng)保留的有特殊意義的單詞,不能用于變量故觅、類名厂庇、函數(shù)名. Python系統(tǒng)保留的關(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ò)下面的代碼查看
import keyword
print(keyword.kwlist)
tips: Python 3.x 中支持用漢字作為變量名
下面是演示
成都 = 666
成都2 = 999
print('成都',成都,'成都2',成都2)
下面是結(jié)果
成都 666 成都2 999
4. 行與縮進(jìn)
- 縮進(jìn): 每一行代碼與行開(kāi)頭位置之間的空格
- 在Python中縮進(jìn)的寫(xiě)法有嚴(yán)格規(guī)范,同一級(jí)代碼必須寫(xiě)在同一個(gè)縮進(jìn)下面
- 如果在不該存在空格的地方出現(xiàn)空格,程序運(yùn)行就會(huì)報(bào)錯(cuò)
- 需要空格的位置沒(méi)有空格,程序運(yùn)行也會(huì)報(bào)錯(cuò)
- 行的規(guī)范:函數(shù)的聲明前后必須有兩個(gè)換行。一般一個(gè)功能實(shí)現(xiàn)完,實(shí)現(xiàn)下一個(gè)功能時(shí),也最好換行
5.多行語(yǔ)句
一條語(yǔ)句在多行顯示
a. 在需要換行時(shí),在需要換行出加反斜杠(\)
b. 字典输吏、列表权旷、集合和元組等容器類型數(shù)據(jù)的字面量,可直接換行多條語(yǔ)句在一行顯示
Python中,語(yǔ)句結(jié)束時(shí),分號(hào)可省略; 但一行中寫(xiě)多條語(yǔ)句時(shí),語(yǔ)句必須用分號(hào)';'隔開(kāi)
例如
# 一條語(yǔ)句在多行顯示
print('先帝創(chuàng)業(yè)未半而中道崩殂贯溅,\
今天下三分拄氯,益州疲弊,此誠(chéng)危急存亡之秋也它浅。\
然侍衛(wèi)之臣不懈于內(nèi)译柏,忠志之士忘身于外者,\
蓋追先帝之殊遇姐霍,欲報(bào)之于陛下也鄙麦。\
誠(chéng)宜開(kāi)張圣聽(tīng)典唇,以光先帝遺德,\
恢弘志士之氣胯府,不宜妄自菲薄介衔,引喻失義,以塞忠諫之路也骂因。 ')
# 多條語(yǔ)句在一行顯示
print('堅(jiān)持到感動(dòng)自己'); print('拼搏到無(wú)能為力')
下面是結(jié)果
先帝創(chuàng)業(yè)未半而中道崩殂炎咖,今天下三分,益州疲弊寒波,此誠(chéng)危急存亡之秋也乘盼。然侍衛(wèi)之臣不懈于內(nèi),忠志之士忘身于外者俄烁,蓋追先帝之殊遇绸栅,欲報(bào)之于陛下也。誠(chéng)宜開(kāi)張圣聽(tīng)猴娩,以光先帝遺德阴幌,恢弘志士之氣勺阐,不宜妄自菲薄卷中,引喻失義,以塞忠諫之路也渊抽。
堅(jiān)持到感動(dòng)自己
拼搏到無(wú)能為力
6. 字面量
- 數(shù)據(jù)類型對(duì)應(yīng)的具體的值
- 10,1000,-3 ---------------------------------------------------- 整型
- 12e3,4e-3 ----------------------------------------------------- 數(shù)值
- 1+2i ------------------------------------------------------------- 復(fù)數(shù)
- 3.14,12.56, 2.718 ----------------- 浮點(diǎn)型(小數(shù))和科學(xué)計(jì)數(shù)
- 'hello world','9527' --------------------------------------- 字符型
- True,False ------------------------------------------------- 布爾型
- [1,3,5,'luo','asgrad'] ----------------------------------------- 列表
- {'a': 1, 'b':'d'} -------------------------------------------------- 字典
7.Python中的基本數(shù)據(jù)類型
- 數(shù)字(整型(int)蟆豫、浮點(diǎn)型、布爾型懒闷、復(fù)數(shù)十减、字符串、列表愤估、字典帮辟、集合、元組玩焰、none
- 整型: int (Python 2.x 中還有l(wèi)ong)
- 浮點(diǎn)型: float --> 所有小數(shù)
- 布爾型: bool --> 只有True和False
- 復(fù)數(shù): complex --> 包含所有復(fù)數(shù)
- 字符串: str-->所有能從鍵盤輸入的字符
- 列表: list
- 字典: dict
- 集合: set
- 元組: tuple
- none(表示空值)
tips: 可以用type()函數(shù)查看數(shù)據(jù)類型: type(數(shù)據(jù))
例如:
print(type(2e3))
print(type(False))
print(type('asdf '))
print(type("sdfgh"))
結(jié)果如下
<class 'float'>
<class 'bool'>
<class 'str'>
<class 'str'>
三由驹、Python中的變量
1. 什么是變量
??在程序中可以通過(guò)變量來(lái)存儲(chǔ)數(shù)據(jù)(容器)
2. 如何聲明變量
??嚴(yán)格來(lái)說(shuō), Python中的變量是不需要聲明的, 直接通過(guò)賦值符號(hào)('=')給變量賦值,就是在聲明變量, 因?yàn)镻ython是動(dòng)態(tài)語(yǔ)言,在聲明變量的時(shí)候, 不需要指定數(shù)據(jù)類型。并且同一個(gè)變量可賦不同類型的值
格式: 變量名 = 值
變量名即標(biāo)識(shí)符 ,有兩種命名方式
PEP8命名:所有字母小寫(xiě)昔园,多個(gè)單詞間用下劃線隔開(kāi)蔓榄。例如: user_name
駝峰式命名:第一個(gè)單詞首字母小寫(xiě),后面每個(gè)單詞首字母都大寫(xiě)默刚。例如: userName
聲明變量age并賦值為18
age = 18
使用變量時(shí),就相當(dāng)于使用變量中存的值
例如
print(age)
student_age = 16
print(student_age)
print(type(student_age))
# 重新給變量賦值甥郑,新的值會(huì)覆蓋舊的值
student_age = '18'
print(student_age)
print(type(student_age))
結(jié)果如下
16
<class 'int'>
18
<class 'str'>
補(bǔ)充:
- 一個(gè)數(shù)據(jù)有type(類型)、ID(數(shù)據(jù)儲(chǔ)存在計(jì)算機(jī)中的地址)和value(值)三個(gè)屬性
- 變量存儲(chǔ)數(shù)據(jù)時(shí),有兩種情況.
- 第一種情況:存value ---> 數(shù)字類型荤西、字符串
- 第二種情況:存ID ----> 列表,字典
四澜搅、Python中的運(yùn)算符
數(shù)學(xué)運(yùn)算符伍俘、比較運(yùn)算符、邏輯運(yùn)算符勉躺、賦值運(yùn)算符养篓、位運(yùn)算符(針對(duì)二進(jìn)制的每一位)
1. 數(shù)學(xué)運(yùn)算符(+、-赂蕴、柳弄、/、%概说、*碧注、//)
1.1. + :求和
注意: 求和操作'+'兩邊必須是數(shù)字類型
示例:
#True ---> 1 False ---> 0
print(10+20.4,True+1)
結(jié)果
30.4 2
1.2. - : 求差
示例:
print(100-36)
結(jié)果
64
1.3. * : 求乘積
示例:
print(3.14*4)
結(jié)果
12.56
1.4. / : 求商
示例:
print(10/4,4/10)
結(jié)果
2.5 0.4
1.5. % :求兩個(gè)數(shù)相除的余數(shù)
示例:
print(105%4)
print(109%3.4)
print(120.3%4)
print(124.7%5.2)
結(jié)果
1
0.20000000000000284
0.29999999999999716
5.099999999999999
1.6. ** : 冪運(yùn)算
x**y :求x的y次方
示例:
# 浮點(diǎn)數(shù)在計(jì)算機(jī)中的儲(chǔ)存有一定誤差
number =4.2 **3
print(number,2 ** 3)
結(jié)果
74.08800000000001 8
1.7. // : 整除
求商,但只取整數(shù)部分
示例:
print(5//2)
# 去一個(gè)兩位數(shù)中十位上的數(shù)
print(78//10)
# 取2345中的4:
print(2345%100//10)
print(2345//10%10)
結(jié)果
2
7
4
4
2.比較運(yùn)算符
< 、 > 糖赔、== 拍棕、>= 、吻谋!=
注意: 比較運(yùn)算符的結(jié)果全是布爾型:True or False
2.1. x > y : 如果x大于y巡社,則結(jié)果為True,否則為False
例:
print(2>3,5>3)
結(jié)果
False True
2.2. x < y : 如果x小于y奋构,則結(jié)果為True壳影,否則為False
例:
print(2<3,5<3)
結(jié)果
>True False
2.3. x == y : 如果x等于y,則結(jié)果為True弥臼,否則為False
例:
```Python
print(2 == 2 , 3 == 2 )
結(jié)果
True False
2.4.x <= y宴咧、 x >= y
例:
print(2<=2,2<=3,3<=2)
結(jié)果
True True False
2.5. x != y:
例:
print(2!=2,2!=3)
結(jié)果
False True
2.6. 在Python中, 可以像數(shù)學(xué)中一樣,連續(xù)判斷
例:
print(10<12<15)
結(jié)果
True
3.邏輯運(yùn)算符
與(and)、或(or)径缅、非(not)的結(jié)果都是布爾型
布爾1 and 布爾2
當(dāng)且僅當(dāng)兩個(gè)都為True時(shí)掺栅,結(jié)果才是True
例:
print(True and True,True and False,False and True, False and False)
結(jié)果
True False False False
布爾1 or 布爾2 當(dāng)且僅當(dāng)兩個(gè)都為False時(shí),結(jié)果才是False
例:
print(True or True,True or False,False or True, False or False)
結(jié)果
True True True False
not 布爾1 布爾1為True時(shí)纳猪,結(jié)果為False氧卧,否則為True
例:
print(not True, not False)
結(jié)果
False True
一些例子
# 寫(xiě)一個(gè)條件,判斷一個(gè)的年齡是否滿足青年的條件(年齡大于18并且小于30,且不能為20)
age1 = 16
age2 = 26
print(age1 > 18 and age1 < 30 and not age1 == 20)
print(age2 > 18 and age2 < 30 and age2 != 20)
# 平時(shí)成績(jī)不低于80,或卷面成績(jī)不低于70,且英語(yǔ)成績(jī)不低于68
score = 90
score2 = 92
English =100
print(score>=80 or score2 >= 70 and English >=68)
# 成績(jī)不低于60
score = 70
print(score>=60)
print(not score<60)
結(jié)果
False
True
True
True
True
4.賦值運(yùn)算符
= 、+= 氏堤、-= 沙绝、= 、/= 丽猬、%= 宿饱、*= 、//=
賦值運(yùn)算符的作用: 將賦值符號(hào)右邊的表達(dá)式的值賦給左邊的變量
表達(dá)式: 有結(jié)果的語(yǔ)句, 例如: 10, 'ABC', 10+20, 30>10.5
注意: 賦值符號(hào)左邊必須是變量, 賦值是先計(jì)算,再賦值
例:
num = 10
num += 1 # 等同于num = num + 1
print(num)
num *= 2 # 等同于num = num * 2
print(num)
結(jié)果
11
22
5.運(yùn)算符的優(yōu)先級(jí)
10+20*2-3/6 = 10 + 40 -0.5 = 49.5
優(yōu)先級(jí): 賦值運(yùn)算符 < 邏輯運(yùn)算符 < 比較運(yùn)算符 < 算術(shù)運(yùn)算符
算術(shù)運(yùn)算符優(yōu)先級(jí): 先冪運(yùn)算,再乘除取余取整,再加減
tips :不確定運(yùn)算順序時(shí),可以添加括號(hào)來(lái)改變運(yùn)算順序,優(yōu)先計(jì)算括號(hào)中的內(nèi)容
例:
result = 1+2>4 or 6*7 < 87 - 32
print(result)
print(12+34/2*3-104%23-5*2**3)
結(jié)果
True
11.0
五脚祟、Python中的進(jìn)制轉(zhuǎn)換
數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ),存的都是二進(jìn)制(01011001010101001...)
1.十進(jìn)制
基數(shù): 0,1,2,3,4,5,6,7,8,9
特點(diǎn): 逢十進(jìn)一
12345 = 10000 + 2000 + 300 + 40 + 5
= 1*10000 + 2*1000 + 3*100 + 4*10 + 5
= 1*10^4 +2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
2.二進(jìn)制
基數(shù): 0,1
特點(diǎn): 逢二進(jìn)一
101011 = 1*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0
3.八進(jìn)制
基數(shù): 0,1,2,3,4,5,6,7
特點(diǎn): 逢八進(jìn)一
24 = 2*8^1 + 4*8^0
4.十六進(jìn)制
基數(shù):0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
特點(diǎn):逢十六進(jìn)一
2F = 2*16^1 + 15*16^0
進(jìn)制間的轉(zhuǎn)換:
十進(jìn)制轉(zhuǎn)換成其他進(jìn)制: 整數(shù)取余法
八進(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
Python中的二進(jìn)制,八進(jìn)制和十六進(jìn)制
默認(rèn)為十進(jìn)制
123
789
基數(shù)是0,1, 且以0b開(kāi)頭的數(shù)字表示二進(jìn)制
0b10011101
基數(shù)是0,1,2,3,4,5,6,7,且以0o開(kāi)頭的數(shù)字表示八進(jìn)制
0o353547
基數(shù)是0-9, A-F (a-f), 且以0x開(kāi)頭的數(shù)字表示十六進(jìn)制
0x78ef
0x98ae
# bin()將其他進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)
print(bin(15),bin(0x98ae))
# Oct()將其他進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)
print(oct(123),oct(0b10011101))
# hex()將其他進(jìn)制整數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)
print(hex(10),hex(0b10011101))
結(jié)果
0b1111 0b1001100010101110
0o173 0o235
0xa 0x9d