摘要:個(gè)數(shù)相等,順序?qū)?yīng)當(dāng)在函數(shù)參數(shù)里面使用的時(shí)候,可以在實(shí)參里面修改默認(rèn)值在調(diào)用函數(shù)傳入?yún)?shù)的時(shí)候,明確告訴實(shí)參,形參給傳的是那個(gè)實(shí)參的值,
變量
python3中變量的定義是不固定類型的(動(dòng)態(tài)),區(qū)分大小寫
值類型 | 引用類型 |
---|---|
不可變的(值類型) | 可變的(引用類型) |
int (整型) | list (列表) |
str (字符串) | set (集合) |
tuple (元組) | dict (字典) |
通過內(nèi)置函數(shù)id(),可以知道變量在內(nèi)存的位置
b = "icessun" b = b + "hello" print(b) >>> "icessunhello" # 不是說字符串是不可變的嘛?怎么改變了
如果字符串可以改變,那么可以使用索引值給字符串賦值"python"[0] = "h" -----> 報(bào)錯(cuò),會(huì)發(fā)現(xiàn)報(bào)錯(cuò),是不行的。
上面程序的結(jié)果是因?yàn)椋?b>+連接符,把兩個(gè)字符串連接起來了,鏈接起來的值重新賦值給了b元素,使用id(b)函數(shù),會(huì)發(fā)現(xiàn)其實(shí)上面兩個(gè)b變量在內(nèi)存的位置是不一樣的,所以第一個(gè)b變量的值沒有改變,被覆蓋了。
乘方的表示法 :2**5 ----> 2的5次方=32
is / not is
a = (1,2,3) b = (1,3,2) print(a is b) # 元組是不可變的 print(a == b) # 元組是有序的,值是不相等的 >>> False False # 集合 a = {1,2,3} b = {1,3,2} print(a==b) # 集合是無序的,所以值是相等的 print(a is b) >>> True False # 字符串,數(shù)字 兩個(gè)取值相等,則is 返回True,但是數(shù)字有特殊 a = "icessun" b = "icessun" print(a is b) >>> True a = 1 b = 1 c = 1.0 print(a==b) print(a==c print(a is b) print(a is c) >>> True True True False
從上面可以看出,元組是不可變的,改變里面元素的位置就變成了兩個(gè)新的元組。is不是比較兩個(gè)變量的值是否相等,而是比較變量在內(nèi)存的地址是否相等,算術(shù)運(yùn)算符==是比較值是否相等的
對(duì)象的三個(gè)特性 | 一切都是對(duì)象 |
---|---|
id()函數(shù):變量在內(nèi)存的地址 | is :身份運(yùn)算符 |
type()函數(shù):類型判斷函數(shù) | isinstance(變量,(int,str,float....)) |
value值的比較 | == :算術(shù)比較符 |
判斷一個(gè)變量是否在一個(gè)變量里面 in / not in
b= "a" b in {"c":1} >>> False b=1 b in {"c":1} >>> False b="c" b in {"c":1} >>> True
優(yōu)先級(jí):not > and > or
代碼編寫縮進(jìn)來區(qū)分代碼塊,沒有大括號(hào){ }
pass:占位語(yǔ)句
常量一般大寫
單行注釋:#;推薦在這行語(yǔ)句的開頭寫,與上一條語(yǔ)句有空格
多行注釋: """注釋內(nèi)容"""
代碼后面不需要分號(hào),有也可以
實(shí)例化一個(gè)對(duì)象,不需要new關(guān)鍵詞
a = input() a = int(a) print("a is " + str(a)) if a==1: print("apple") elif a==2: print("orange") elif a==3: print("banana") else: print("shoppingp") # 使用 if else if a==1: print("apple") else: if a==2: print("orange") else: if a==3: print("banana") else: print("shopping")
input()接收用戶的輸入,elif功能類似于switch功能;
int(a):因?yàn)榻K端輸入的是字符串,所以應(yīng)該強(qiáng)制轉(zhuǎn)為數(shù)字進(jìn)行比較
print("a is " + str(a)):字符串的拼接只能兩者都是字符串,否者會(huì)報(bào)錯(cuò)
主要用來遍歷循環(huán):序列List,集合Set,字典Dict
a = [["apple","orange","banana","grape"],(1,2,3)] for x in a: for y in x: if y=="orange": break # continue print(y) # 默認(rèn)是換行(print(y,end="/n"))輸出的,要想不換行:print(y,end=" ");故可以在end里面添加其他的符號(hào)來連接字符 else: print("fruit is gone") >>> apple 1 2 3 fruit is gone
break跳出里面的for循環(huán),但是外面的for循環(huán)沒有跳出,還是會(huì)執(zhí)行;和else配對(duì)的是外面的for循環(huán),所以依然會(huì)執(zhí)行;要是在外層的for循環(huán)里面加入break,那么就不會(huì)執(zhí)行else語(yǔ)句;for循環(huán)后面有else語(yǔ)句,當(dāng)循環(huán)執(zhí)行完畢,也會(huì)依然接著執(zhí)行else語(yǔ)句,所以會(huì)輸出fruit is gone;一般不推薦在for循環(huán)后面使用else語(yǔ)句
循環(huán)中使用range()函數(shù)
for x in range(0,10): print(x,end="|") >>> 0|1|2|3|4|5|6|7|8|9| for x in range(10,0,-2): print(x,end="|") >>> 10|8|6|4|2| # 打印列表a中所有的基奇數(shù)項(xiàng) a=[1,2,3,4,5,6,7,8] # 循環(huán)+range()函數(shù)的方法 for x in range(0,len(a),2): print(a[x]) # 列表的切片的方法 print(a[0:len(a):2]) >>> [1,3,7]
range()函數(shù)的作用類似于其他語(yǔ)言中的for(i = 初始值;i < 長(zhǎng)度;i ++);里面可以傳入兩個(gè)或者三個(gè)參數(shù),兩個(gè)參數(shù)的時(shí)候表示的是:初始值,長(zhǎng)度;傳入三個(gè)參數(shù)的時(shí)候表示的是:初始值,長(zhǎng)度,步長(zhǎng)
def ice(a,b): a1=a*3 b1=b*2+10 return a1,b1 ice_a1,ice_b1 = ice(3,6) print(ice_a1,ice_b1) >>> 9 22 a=1 b=2 ====> a,b,c=1,2,3 或者 (1,2,3) 當(dāng)abc都相等的時(shí)候:a=b=c=1 或者 a,b,c=1,1,1 c=3
序列解包:就是當(dāng)一個(gè)函數(shù)有多個(gè)返回值的時(shí)候,不需要使用一個(gè)變量接收到所有的返回值,然后又重新遍歷返回值,取到對(duì)應(yīng)的返回值;只需要使用和返回值個(gè)數(shù)對(duì)等的變量依次接收就行;當(dāng)然只是針對(duì)返回值是值類型的函數(shù)。個(gè)數(shù)相等,順序?qū)?yīng)
當(dāng)在函數(shù)參數(shù)里面使用的時(shí)候,可以在實(shí)參里面修改默認(rèn)值;在調(diào)用函數(shù)傳入?yún)?shù)的時(shí)候,明確告訴實(shí)參,形參給傳的是那個(gè)實(shí)參的值sum(y=3,x=2)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41105.html
摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:以下這些項(xiàng)目,你拿來學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲達(dá)到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲的設(shè)計(jì)方案,比如說。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過一遍Python最基本的知識(shí),比如說:變量、數(shù)據(jù)結(jié)構(gòu)、語(yǔ)法...
摘要:語(yǔ)言也被稱作為膠水語(yǔ)言,可以混合其他如,等來編程可以把其他語(yǔ)言制作的各種模塊尤其是很輕松的聯(lián)結(jié)在一起。會(huì)認(rèn)為子類是一種父類類型。 最近學(xué)習(xí)了python3的語(yǔ)法,整理記錄一下;語(yǔ)法是編程的先決條件,精通語(yǔ)法是編好程序的必要條件; 導(dǎo)語(yǔ) 給我最大的感覺是:這個(gè)語(yǔ)言的編寫,居然不使用 { }來控制代碼塊的區(qū)域,而是使用縮進(jìn)來分割代碼塊,所以使用python語(yǔ)言編寫的代碼不能壓縮混淆。能夠...
摘要:最近看前端都展開了幾場(chǎng)而我大知乎最熱語(yǔ)言還沒有相關(guān)。有關(guān)書籍的介紹,大部分截取自是官方介紹。但從開始,標(biāo)準(zhǔn)庫(kù)為我們提供了模塊,它提供了和兩個(gè)類,實(shí)現(xiàn)了對(duì)和的進(jìn)一步抽象,對(duì)編寫線程池進(jìn)程池提供了直接的支持。 《流暢的python》閱讀筆記 《流暢的python》是一本適合python進(jìn)階的書, 里面介紹的基本都是高級(jí)的python用法. 對(duì)于初學(xué)python的人來說, 基礎(chǔ)大概也就夠用了...
摘要:一積累中如何快速查看包中的源碼最常用的大開發(fā)快捷鍵技巧將對(duì)象保存到文件中從文件中讀取對(duì)象中的用法的配置詳解和代碼的格式詳解格式化內(nèi)容設(shè)置生成詳解注釋規(guī)范中設(shè)置內(nèi)存調(diào)試的小知識(shí)單步執(zhí)行命令的區(qū)別的動(dòng)態(tài)代理機(jī)制詳解內(nèi)容有瑕疵,樓指正泛型繼承的幾 一、積累 1.JAVA Eclipse中如何快速查看jar包中 的class源碼 最常用的15大Eclipse開發(fā)快捷鍵技巧 Java將對(duì)象保存到...
閱讀 2912·2021-11-25 09:43
閱讀 2338·2021-11-24 09:39
閱讀 2722·2021-09-23 11:51
閱讀 1415·2021-09-07 10:11
閱讀 1459·2019-08-27 10:52
閱讀 1946·2019-08-26 12:13
閱讀 3368·2019-08-26 11:57
閱讀 1405·2019-08-26 11:31