公眾號(hào):勝言
個(gè)人博客:wangsheng.tech
BIF == Built-in functions (內(nèi)置函數(shù))
用冒號(hào):
而不是分號(hào);
001作業(yè)
0、Python是一種面向?qū)ο蟮哪_本語(yǔ)言。
1、IDLE是python的一個(gè)shell。
2、輸出。
3、*
4、兩個(gè)數(shù)字才能相加,才有意義,字符串和數(shù)字相加無(wú)意義
5、print(‘“’)
6、python3與之前的python2不兼容
動(dòng)手:
0、一個(gè)使用了內(nèi)置函數(shù),一個(gè)直接計(jì)算
1、31536000
2、
變量名不能以數(shù)字開(kāi)頭。
變量名的大小寫是不同的,例如,F(xiàn)ishC和fishc這兩個(gè)變量是不一樣的。
003作業(yè)
0、C
1、小甲魚
2、小甲魚
3、520
4、print(r“l(fā)et‘s go”)
5、
6、把first打成了fisrt。
動(dòng)動(dòng)手:
0、
daysperyear = 365
hoursperday = 24
minutesperhour = 60
secondsperminute = 60
print(daysperyearhoursperdayminutesperhour*secondsperminute)
1、三重引號(hào)更方便
str="""我愛(ài)魚C,
正如我愛(ài)小甲魚,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的聲音,
總纏繞于我的腦海,
久久不肯散去……"""
print(str)
2、變量名的格式、在python中變量與C語(yǔ)言有些不同,python是把名字貼在值上,名字的值隨值改變而改變。三重引號(hào)的使用、
if 左邊!=右邊 意思是 如果左邊 不等于 右邊。
randint():返回一個(gè)隨機(jī)整數(shù)
import random
temp = random.randint(x,y)
while i: 相當(dāng)于 while i!=0:
短路邏輯(short-circuit logic):
編程語(yǔ)言常用的邏輯
if a and b:#如果a是false,那么跳過(guò)b的判斷,結(jié)果直接false
Python 的做法是如果 a 為True,它就會(huì)返回 b 的值。
if a or b:#如果a為true,那么跳過(guò)b的判斷,直接true
Python 的做法是如果 a 為True,它就會(huì)返回 b 的值。
請(qǐng)問(wèn)Python的 and 操作符 和C語(yǔ)言的 && 操作符 有何不同?
答:都是邏輯運(yùn)算,都是短路求值,不同在于C中返回的始終是邏輯值(0 或 1),而python中返回的是實(shí)際的對(duì)象(ture or flase).
第四講動(dòng)動(dòng)手最后一題未做。
python數(shù)據(jù)類型
整型(int),浮點(diǎn)型(float,具小數(shù)點(diǎn)的)、布爾類型(True:1 False:0)
Ture+True=2 字符串(str) str(15e10)='15e+10'
str(15e-10)='15e-10'
e記法(屬于float)
15e10 即科學(xué)記數(shù)法 15×10的10次方
end='' 不換行
not True == Flase not 將布爾類型反轉(zhuǎn)
Python3 可以給變量命名中文名
若s為字符串
s.isalnum() 所有字符都是數(shù)字或者字母,為真返回 Ture,否則返回 False。
s.isalpha() 所有字符都是字母,為真返回 Ture,否則返回 False。
s.isdigit() 所有字符都是數(shù)字,為真返回 Ture,否則返回 False。
s.islower() 所有字符都是小寫,為真返回 Ture,否則返回 False。
s.isupper() 所有字符都是大寫,為真返回 Ture,否則返回 False。
s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。
s.isspace() 所有字符都是空白字符,為真返回 Ture,否則返回 False。
python3 的除法很自由,/
// floor除法(地板除)結(jié)果向下取整,原來(lái)為浮點(diǎn)型,則輸出浮點(diǎn)型。
原來(lái)為整型,則輸出整型。
3.1//2
1.0
3//2
1
% 取余
11 % 2
1
** 冪運(yùn)算 ** 冪運(yùn)算操作符比其左側(cè)的一元操作符優(yōu)先級(jí)高,比其右側(cè)的一元操作符優(yōu)先級(jí)低。
>>> - 3 ** 2 # = - (3 ** 2)
>>> - 9
>>> 3 ** - 2 # = 3 ** (-2)
>>>0.11111111111
3 ** 2 # 3的2次冪
9
優(yōu)先級(jí)
先乘除,后加減,括號(hào)里的先運(yùn)算。(負(fù)數(shù)加括號(hào))
not or and 的優(yōu)先級(jí)是不同的:not > and > or
在 Python 看來(lái),
以下內(nèi)容會(huì)被看作假(注意冒號(hào)括號(hào)里邊啥都沒(méi)有,連空格都不要有!):
False、None、0、 "" 、''、 ()、 []、 {}
Python3 中,一行可以書寫多個(gè)語(yǔ)句,語(yǔ)句之間用分號(hào)隔開(kāi)即可,不妨試試:
print('I love fishc');print('very much!')
I lobe fishc
very much!
Python3 中,一個(gè)語(yǔ)句可以分成多行書寫,
一行過(guò)長(zhǎng)的語(yǔ)句可以使用反斜杠或者括號(hào)分解成幾行,不妨試試:
3 > 4 and
1 < 2
Flase
( 3 > 4 and
1 < 2 )
False
三元操作符
x if 條件 else y
python三元操作符
比較大小更簡(jiǎn)單了
x,y=3987,24361
small=(x if x<y else y)
print(small)
方法一:比較三個(gè)數(shù)的大小找出較小的一個(gè)
x,y,z=8,1,13
if x<y:
small=x
else:
small=y
if small<z:
print(small)
else:
small=z
print(small)
方法二:比較三個(gè)數(shù)的大小找出較小的一個(gè)
x,y,z=8,9,1
small=(x if x<y else y)
small=(small if small<z else z)
print(small)
方法三:比較三個(gè)數(shù)的大小找出較小的一個(gè)
x,y,z=8,4,11
small=x if (x < y and x < z) else (y if y < z else z)
print(small)
assert 條件
條件為假的時(shí)候,程序自動(dòng)崩潰,用于檢查程序。
斷言
假設(shè)有 x = 1,y = 2,z = 3,請(qǐng)問(wèn)如何快速將三個(gè)變量的值互相交換?
(x, y, z) =(z, y, x) 無(wú)需中間變量,直接交換。
成員運(yùn)算符:in 用于判斷一個(gè)值是否在某序列中,是返回True ,否返回False。
break 終止循環(huán),執(zhí)行循環(huán)后的代碼
continue 終止本輪循環(huán),返回判斷循環(huán)條件是否成立,然后執(zhí)行循環(huán)(True)或跳出循環(huán)(False)。
加號(hào) + 和 逗號(hào), 都可以用來(lái)拼接print的輸出內(nèi)容,但是兩者也是有區(qū)別的。
加號(hào) + :兩邊只能是 同類型 的相加,
逗號(hào),:兩邊可以是 不同類型 的,甚至是運(yùn)算
加號(hào)更多的理解為加號(hào)的運(yùn)算,逗號(hào)更大程度上就是連接,將內(nèi)容連接起來(lái)
list1.append()在列表尾部添加一個(gè)元素
list1.extend([])在列表尾部加入多個(gè)元素
list1.insert(,)在列表的某個(gè)索引處插入一個(gè)元素。例:insert(0,‘小甲魚’)
list1.remove(數(shù)據(jù))
del list1[索引值index] 也可以刪除整個(gè)列表 del list1
list1.pop(索引值index) *不輸入索引值,默認(rèn)移除該列表的最后一個(gè)數(shù)據(jù),并返回該數(shù)據(jù)值
list1.reverse() 反轉(zhuǎn)列表 (注意! .reverse()無(wú)返回值)
list1.sort() 將列表的數(shù)據(jù)正序排列
list1.sort(reverse=True) 將列表數(shù)據(jù)倒序排列
list1[:] 列表切片,相當(dāng)于復(fù)制
list1.copy() 復(fù)制列表
list1.clear() 清空列表
列表推導(dǎo)式(List comprehensions)也叫列表解析,Ta 是一個(gè)非常有用和靈活的工具,可以用來(lái)動(dòng)態(tài)的創(chuàng)建列表,語(yǔ)法如:
[有關(guān)A的表達(dá)式 for A in B]
list(tuple)將某元組轉(zhuǎn)化為列表
元組(tuple)
可進(jìn)行比較操作符,邏輯操作符,連接操作符,重復(fù)操作符和成員關(guān)系操作符的運(yùn)算。
Python的序列切片地址可以寫成
list1[start:end:step]
使用min() max() sum() 要保證序列中的數(shù)據(jù)類型是相同的。字符串不支持sum()
sorted() 正向排序
reversed() 逆轉(zhuǎn),返回迭代對(duì)象,利用list() tuple() str()
list(enumerate()) 返回(a,b)組成的list,a為index值,b為數(shù)據(jù)值。
zip()
舉個(gè)栗子:
a = ( 1, 2, 3, 4, 5 )
b = ( 9, 2, 3, 'a', 1, 2, 3)
zip(a,b)
<zip object at 0x05CB0DC8>
list(zip(a,b))
[(1, 9), (2, 2), (3, 3), (4, 'a'), (5, 1)]
所謂迭代,是重復(fù)反饋過(guò)程的活動(dòng),其目的通常是為了接近并到達(dá)所需的目標(biāo)或結(jié)果。每一次對(duì)過(guò)程的重復(fù)被稱為一次“迭代”,而每一次迭代得到的結(jié)果會(huì)被用來(lái)作為下一次迭代的初始值。
def 函數(shù)定義
沒(méi)有return 默認(rèn)返回None
形參
實(shí)參
關(guān)鍵字參數(shù)
默認(rèn)參數(shù)
收集參數(shù) *
Nonetype
None
局部變量(local variable)
全局變量(global variable)
0、我在next()函數(shù)里...
我在pre()函數(shù)里...
1、Hello FishC!
無(wú)返回值None
2、可以,用逗號(hào)(,)隔開(kāi)或列表[]
3、1314
520
4、 小甲魚
Baby I love you