python-day2

01.print函數(shù)

1.python常用快捷方式:

control + / ------ 單行注釋
control + s ------ 保存
control + b ------ 編譯(編譯執(zhí)行)
control + n ------ 新建文件
control + c ------ 復(fù)制
control + v ------ 粘貼
control + a ------ 全選
control + x ------ 剪切
control + z ------ 撤銷
control + y / control + shift + z------ 反撤銷(撤銷前的狀態(tài))
按住control不放,讓鼠標(biāo)可以同時(shí)在多個(gè)位置設(shè)置光標(biāo)
control + f ------ 彈出搜索框

2.print函數(shù)是python內(nèi)置函數(shù),作用是在控制臺(tái)打印print后面()里面的任何內(nèi)容

  • ()里面的單引號(hào),是字符串的標(biāo)志,而不是內(nèi)容
  • 在python2.x中,print'hello world'可以不用添加括號(hào)
  • 在python3.x中,print后面需要括號(hào)
  • A.B.C版本號(hào)。A-->重大修改(不向下兼容) B-->添加新的功能 C--->修復(fù)bug
print('hello world!!!!')

結(jié)果
hello world!!!!

02.python基礎(chǔ)語(yǔ)法

1.注釋

注釋就是代碼源文件中,用來進(jìn)行注解說明的文字,不會(huì)對(duì)代碼的功能產(chǎn)生任何影響。
注意:好的代碼和優(yōu)秀的程序員,需要對(duì)代碼通過注釋進(jìn)行說明。

  • 單行注釋:在需要注釋的內(nèi)容前面加#號(hào)
#內(nèi)容
  • 多行注釋:分別可以用三個(gè)單引號(hào)或三個(gè)雙引號(hào)對(duì)內(nèi)容注釋如下
'''
內(nèi)容
'''
"""
內(nèi)容
"""

補(bǔ)充:編程語(yǔ)言里面涉及到的所有符號(hào),都是指的英文輸入法狀態(tài)下的符號(hào)

2.標(biāo)識(shí)符

標(biāo)識(shí)符是用來程序中命名用的。(比如:變量名、類名、函數(shù)名)

  • 標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成,并且數(shù)字不能開頭(硬性規(guī)定) --- python3.x中,標(biāo)識(shí)符里可以有中文(但是不推薦使用)
  • 不能使關(guān)鍵字(保留字)(硬性規(guī)定)
  • 大小也敏感(區(qū)分大小寫,aaa、Aaa、AAA和AAa是不一樣的)(硬性規(guī)定)
  • 要見名知意(規(guī)范)
  • 不推薦使用python中的內(nèi)置函數(shù)、類名去作為標(biāo)識(shí)符(規(guī)范)

3.關(guān)鍵字

系統(tǒng)保留的有特殊功能或者特殊意義的一些單詞。這些單詞不能用來給變量\函數(shù)\類等命名的

  • 可以通過以下代碼查看關(guān)鍵字
import keyword
print(keyword.kwlist)

結(jié)果:
['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']

4.行與縮進(jìn)

縮進(jìn):每一行代碼的位置,與行開頭的位置之間的空格

  • 在python中縮進(jìn)的寫法有嚴(yán)格的規(guī)范。同一級(jí)的代碼,必須寫同一個(gè)縮進(jìn)下面
  • 如果在不該有空格產(chǎn)生的位置出現(xià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í)候,最好也換行

5.多行語(yǔ)句

  • 一條語(yǔ)句在多行顯示。
    a.在需要換行的地方加反斜杠,然后再換行
    b.字典、列表、集合和元組等 容器類型數(shù)據(jù) 的字面量,在多行顯示的時(shí)候可以直接換行
    代碼如下
print('阿達(dá)大大大的如\
    饑似渴開始')   #一條語(yǔ)句多行顯示

print(1,2,3,4,
    5,6,7,8,
    9,10
)
結(jié)果:

阿達(dá)大大大的如 饑似渴開始
1 2 3 4 5 6 7 8 9 10
  • 多條語(yǔ)句一行顯示
    python中,一條語(yǔ)句結(jié)束,可以不寫分號(hào);但是如果一行中要寫多行語(yǔ)句,那么每條語(yǔ)句中必須使用分號(hào)隔開
    代碼如下
print('aaaa');print('bbbb')

結(jié)果:
aaaa
bbbb

6.字面量

數(shù)據(jù)類型對(duì)應(yīng)的具體的值

  • 10,100,-12 ---> 整數(shù)
  • 12.5,3.1415926,-0.13 --->小數(shù)(浮點(diǎn)數(shù))
  • 12e2,9e-2 --->數(shù)字
  • 9+10j --->復(fù)數(shù)
  • 'hello world','123',"abcd","!87as" ---->字符串
  • Ture,F(xiàn)alse --->布爾值
  • [1,2,'dfdsf','asdasd'] ---->列表
  • {'a':1,'b':'123'} --->字典

7.python中的基本數(shù)據(jù)類型

數(shù)字(整型、浮點(diǎn)型、布爾、復(fù)數(shù))、字符串(str)、列表(list)、字典(dict)、集合(set)、元組(tuple)、none(代表沒有和空)

  • 整型:int (在python2.x有l(wèi)ong)---->整數(shù)
  • 浮點(diǎn)型:float ---->包含所有小數(shù),和科學(xué)計(jì)數(shù)
  • 布爾:bool ---> 值只有Ture和False
  • 復(fù)數(shù):complex --->值包含所有復(fù)數(shù)

可以通過type函數(shù)查看數(shù)據(jù)的類型:type(數(shù)據(jù))
代碼如下

print(type(10e2))

結(jié)果:
<class 'float'>

03.變量

什么是變量:在程序中可以通過變量來存儲(chǔ)數(shù)據(jù)(容器)

怎么聲明變量:

  • 嚴(yán)格說,python中的變量是不需要聲明的,可以直接通過賦值符號(hào)(=)給變量賦值,就是在聲明變量
  • 因?yàn)閜ython是動(dòng)態(tài)語(yǔ)言,在聲明變量的時(shí)候,不需要指定變量的類型。并且同一個(gè)變量可以賦不同類型的值

格式:變量名 = 值
變量名:標(biāo)識(shí)符,PEP8的命名方式(所有字母小寫,多個(gè)單詞之間用下劃線隔開,例如:user_name)
駝峰式命名:第一個(gè)單詞首字母小寫,后面每個(gè)單詞首字母都大寫(例如:userName)
代碼如下

# 聲明了一個(gè)變量age,并且賦值為18
age=18

# 使用變量的時(shí)候,就相當(dāng)于使用變量中存的值
print(age) 

student_age=20
print(type(student_age))

# 1.如果重新給一個(gè)變量賦值,那么新的值會(huì)覆蓋原來的值
# 2.同一個(gè)變量可以賦不同類型的值
student_age='abc'
print(student_age,type(student_age))

結(jié)果:
18
<class 'int'>
abc <class 'str'>

補(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))

結(jié)果:
140725466551616

04.運(yùn)算符

運(yùn)算符分為:數(shù)學(xué)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、位運(yùn)算符(針對(duì)二進(jìn)制的每一位)

1.數(shù)學(xué)運(yùn)算符(+、-、、/、%、*、//)

  • +:求和
    注意:求和操作,+兩邊必須是數(shù)字類型。True ---> 1 False ---> 0
print(10+20.66,True+1)
number=100+65
print(number)

結(jié)果:
30.66 2
165
  • -: 求差
print(100-60.3,False+9)

結(jié)果:
39.7 9
  • *:求乘積
print(3*3)

結(jié)果:
9
  • /: 求商
print(6/2)
print(5/2)

結(jié)果:
3.0
2.5
  • %: 求兩個(gè)數(shù)相除的余數(shù)
print(8%3)

結(jié)果:
2
  • :冪運(yùn)算
    x
    y:求x的y次方
    浮點(diǎn)數(shù)在計(jì)算中存儲(chǔ)的時(shí)候,有的時(shí)候會(huì)有一定的誤差
print(5**2)
print(4.2**3)

結(jié)果:
25
74.08800000000001
  • //: 整除
    求商只取商的整數(shù)部分
print(9//2)

結(jié)果:
4
  • 取一個(gè)二位整數(shù)的十位數(shù)是多少(78)
print(78//10)

結(jié)果:
7
  • 取2345中的4有以下兩種方法
print(2345%100//10)
print(2345//10%10)

結(jié)果:
4
4

2.比較運(yùn)算符(>、<、==、>=、<=、!=)

比較運(yùn)算符的結(jié)果全是布爾:True、False
1.>
x>y:判斷x是否大于y,如果是結(jié)果是True,否者是False

resulut=10>20
print(resulut,100>20)

結(jié)果:
False True

2.<

print(10<20)

結(jié)果:
True

3.==
x==y:如果x和y相等,結(jié)果是True,否則是False

number=12.5
number2=12
print(number2==number)

結(jié)果:

False

4.>=、<=

10>=5 #True
10>=10 #True

5.!=
x!=y:如果x和y不相等,結(jié)果是True,否則是False

6.在python中,可以像數(shù)學(xué)中一樣,連續(xù)判斷

number=15
resulut=10<number<20   # 判斷number是否在10到20之間
print(resulut)

結(jié)果:
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。--->取反
    需要不滿足某個(gè)條件的時(shí)候?yàn)門rue

寫一個(gè)條件,判斷一個(gè)人的年齡是否滿足青年的條件(年齡大于18并且小于28,而且還不能是20歲)
代碼如下

age=30
print(age>18 and age<28 and age!=20)

結(jié)果:

False

平均成績(jī)大于90分,或者操評(píng)分大于100,并且英語(yǔ)成績(jī)還不能小于80分
代碼如下

score=85
=101
english=81
print(score>90 or score2>100 and not englis<80)

結(jié)果:
True

成績(jī)不低于60分

score=70
print(score>=60)
print(not score<60)

結(jié)果:
True
True

4.賦值運(yùn)算符(=、+=、-=、=、/=、%=、*=、//=)

賦值運(yùn)算符的作用:將賦值符號(hào)右邊的表達(dá)式的值賦給左邊的變量
表達(dá)式:有一個(gè)具體結(jié)果的語(yǔ)句,例如:10,'abc',10+20,30>10.5等
賦值符號(hào)的左邊必須是變量

賦值符號(hào):是先算右邊的結(jié)果,然后再把結(jié)果賦給左邊的變量

number=100
number+=10   # 相當(dāng)于:number=number+10
print(number)


number*=2
print(number) # number=number*2

結(jié)果:
110
220

5.運(yùn)算符的優(yōu)先級(jí)

10+20*3-5/2=10+60-2.5=67.5 ---數(shù)學(xué)運(yùn)算符

  • 優(yōu)先級(jí)從低到高:賦值運(yùn)算符<邏輯運(yùn)算符<比較運(yùn)算符<算數(shù)運(yùn)算符
    算數(shù)運(yùn)算符中:先冪運(yùn)算乘除取余取整再加減

  • 如果你不確定運(yùn)算順序可以通過添加括號(hào)來改變運(yùn)算順序,有括號(hào)就先算括號(hào)里面的


resulut=10+20>15 and 7*8<30+60
# resulut=30>15 and 56<90
# resulut=True and True
print(resulut)

print(10+20*3/2-10%3)
# 10+30-1
# 39

print(10*2**2)  #40

print(10+20*3/(2-10)%3)
# 10+20*3/(-8)%3
# 10+60/(-8)%3
# 10+(-7.5)%3
# 10+1.5
# 1.15

結(jié)果:
True
39.0
40
11.5

05.進(jìn)制轉(zhuǎn)換

數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ),存的都是二進(jìn)制數(shù)(0101....)

1.認(rèn)識(shí)十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制

  • 十進(jìn)制
    基數(shù):0,1,2,3,4,5,6,7,8,9
    特點(diǎn):逢10進(jìn)1 10----->10
    12345=5+40+300+2000+10000
    =51+410+3100+21000+110000
    =5
    (100)+4*(101)+3(10^2)+2(103)+1*(104)
  • 二進(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)

  • 八進(jìn)制
    基數(shù):0,1,2,3,4,5,6,7,
    特點(diǎn):逢8進(jìn)1 12------>10

  • 十六進(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
    2f=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)制

169 # 十進(jìn)制數(shù)
在python中默認(rèn)的數(shù)字都是十進(jìn)制

  • 二進(jìn)制
    基數(shù)是0,1,并且數(shù)字前加前綴0b表示二進(jìn)制
0b1101
print(0b1101)
# bin(整數(shù)) -->將其他進(jìn)制的數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
print(bin(10))
print(bin(0x10))

結(jié)果:
13
0b1010
0b10000
  • 八進(jìn)制
    基數(shù)是0-7,并且數(shù)字前面加前綴0o表示八進(jìn)制
0o156
print(0o156)
# oct(整數(shù)) -->將其他進(jìn)制的數(shù)轉(zhuǎn)換成八進(jìn)制
print(oct(10))

結(jié)果:
110
0o12
  • 十六進(jìn)制
    基數(shù)是0-9,a-f(A-F),并且數(shù)字前面加前綴0x表示十六進(jìn)制
0x1a
print(0x1a)
# hex(整數(shù)) -->將其他進(jìn)制的數(shù)轉(zhuǎn)換成十六進(jìn)制
print(hex(10))

結(jié)果:
26
0xa

練習(xí)題如下:
day2作業(yè):
1.下列四組數(shù),依次為二進(jìn)制、八進(jìn)制和十六進(jìn)制,符合要求的是(D)
a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19

2.二進(jìn)制數(shù)加法運(yùn)算的基本特點(diǎn)是“逢二進(jìn)一”,即0+0=0,0+1=1,1+0=1,1+1=0并進(jìn)位。運(yùn)用這一基本法則和十進(jìn)制運(yùn)算的類似規(guī)律,得出二進(jìn)制數(shù)加法運(yùn)算1001+101的結(jié)果為(C)
a. 1001
b. 1010
c. 1110
d. 1101

7.八進(jìn)制754中的數(shù)碼7對(duì)應(yīng)的位權(quán)是(C)
a. 10^2 b. 16^1 c. 8^2 d. 2^2

8.十進(jìn)制數(shù)53轉(zhuǎn)換成二進(jìn)制數(shù)是(B)
a. 100101
b. 110101
c.100100
d.110100

9.(偏難)已知,十進(jìn)制中的8在X進(jìn)制中表示為11,即(10)8=(X)11。請(qǐng)問這個(gè)X進(jìn)制具體為(B)進(jìn)制
a. 6
b. 7
c. 8
d. 9

10.(偏難)二進(jìn)制的1000001相當(dāng)十進(jìn)制的,二進(jìn)制的100.001可以表示為④__。
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3

  1. 下面定義變量正確的是(D)
    a. a = b = c = 10
    b. a,c = 10
    c. in = 20
    d. num = 10; t = 20

  2. n = 6784,以下能夠獲取到7 的方法有(C)
    a. n / 1000 % 100
    b. n % 1000 / 100
    c. n // 100 % 10
    d. n // 10 % 100 // 10

13.以下表達(dá)式 10 / 4 + 23 // 4 * 2 - 30的計(jì)算結(jié)果是:__-17.5____。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容