日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python控制语句第一章_【原创】Python第一章

發布時間:2024/10/14 python 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python控制语句第一章_【原创】Python第一章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python總是從第一行代碼開始逐步執行,而C是從main函數開始執行。

在Python中,一切東西都是對象。

在Python中,沒有C的花括號,不能任意排版,屬于同一個語句塊的語句需要使用相同的對齊方式(前面的空格數應該一樣)否則會報錯。

固定的數據類型

str是一種類型,字符串類型,一個字符序列。在Python中,str和基本的數值類型(比如int)都是固定的,也就是一旦設定,其值便不能改變,雖然我們可以通過方括號取得序列中的數據項,但無法改變其中的字符。

在Python中,字符是指長度為1的字符串。

內置函數:

內置函數是Python語言內置的一部分,我們不需要從某個庫文件中對其進行import,就可以直接引用該函數。

Python整數大小:

Python所表示的整數大小只受機器的內存大小的限制,而非固定的字節數。

字符串可以使用雙引號或單引號封裝,只要字符串頭尾使用的符號相同或對稱即可,Python字符串使用的是Unicode編碼,所以字符串內容不局限于ASCII字符。

方括號:

Python使用[]提取字符串等任意序列中的某一項,從0開始。方括號存取使用與任意數據類型(只要構成一個序列)的數據項。

對象引用:

定義了數據類型之后,我們就可以定義存儲某種數據類型的變量,但是在Python中沒有這樣的變量,而是使用“對象引用”。

x = "blue"

執行時,Python會先創建一個str對象(放在堆區),str對象存儲的就是“blue”的這些字符,同時還創建了一個名為x的對象引用,x引用的就是str對象。

x=2

在C中,會開辟一段內存(占4個字節),里面存儲著2這個數字,這段內存的引用名為x。

在Python中,會開辟兩段內存,在堆上開辟的內存存儲著2這個數字,是一個int對象,另一段開辟的內存存儲著int對象的地址,該段內存的引用名為x。

操作符=:

在Python中,“=”的作用是將對象引用和內存中的某對象進行綁定。如果對象引用已經存在,那么就簡單的進行重綁定,以便引用“=”操作符后面的對象。如果對象引用尚未存在,就由“=”操作符創建對象引用。

垃圾回收:

如果內存中的一個對象,沒有任何一個對象引用引用此對象,那么這個無引用的對象,就由Python進行垃圾回收處理

動態類型機制:

Python使用的的是“動態類型”機制,即在任何時刻,只要需要,某個對象引用可以重新引用一個不同的對象;某個對象引用可以重新綁定到不同的數據類型的對象。

x="blue"#x對象引用引用的是str對象

x=1#x對象引用重新與int對象進行綁定,同時str對象“blue”進入垃圾回收流程,因為沒有對象引用再對其進行引用

如果某個類型的對象使用了不合法的操作符,就會導致產生了一個TypeError

type()函數會返回給定數據項的數據類型。

元組和列表:

列表有點像C中的數組,不過Python的組合數據類型支持一個組合數據類型中包含多種類型。

元組是固定的,創建后就不能改變;列表是可變的,在需要的時候可以插入或移除數據項;

元組使用逗號創建,x=1,2,3,"123"

在輸出元組時,Python使用圓括號將其封裝在一起,可以結合圓括號和逗號創建元組,x=(1,2,3,"123"),如果元組只有一個數據項,又需要圓括號,就需要在第一個數據項后面加上一個“多余”的逗號,如x=(1,)。這個逗號如果省略了,那么創建的只是一個普通的數據項,而不是一個元組對象。

空元組使用空的()創建。

逗號:

逗號有兩個用處:1,分隔函數參數,2,分隔元組中數據項

由于函數參數和元組都是用圓括號封裝,因此如果需要將元組常值作為參數傳遞,就必須使用圓括號對其進行封裝,以免混淆。如:

func(1,2,(3,4)),第三個參數是元組,如果元組不加圓括號,則會發生混淆。

列表的創建使用方括號進行分封裝,看來方括號不僅可以取序列中的某項數據項,還可以來定義列表。

元組和列表實質:

實質上元組和列表并不存儲真正的數據項,而是存儲對象引用,這樣做會浪費一點空間。

x=1

y=2

z=3

a=[x,y,z]

創建列表或元組時,實際上是使用給定對象引用的副本而已。

b=[1,2,3]

這又和上面的創建方法不一樣,這是在字面意義項(比如整數或字符串)的情況下,會在內存中創建一個適當數據類型的對象,而存放在列表或元組的才是對象引用。

組合數據類型也是一種對象的類:

因此可以將某種組合數據類型嵌套在其他組合數據類型中,比如創建一個列表,列表的數據項仍是列表。

元組,列表以及字符串等數據類型的長度——len()函數:

這長度對該數據類型是有意義的,將數據項作為參數傳遞給len()函數即可得到該數據項的長度。

數據項知道自己的類型!:

對象知道自己的數據類型,因此不需要明確指定數據類型,比如定義的時候

列表的擴建:

1,創建一個新的列表,再與新的列表對象的對象引用進行重新的綁定;2,使用對象自帶的append方法,具有更高的效率,對于長列表更是如此。

方法調用:

1,x.append("more")

2,list.append(x,"more")

第一種形式在實際中應用得更加廣泛;第二種指定了數據類型、該數據類型的方法,并將要調用該方法的數據項本身作為第一個參數,其后再跟隨一些其他參數。(在繼承方面,語義存在稍微差別)

點(存儲屬性)操作符:

用于存儲某個對象的屬性,屬性不僅可以是方法,常量,也可以是任意類型的對象。由于屬性可以是對象,該對象包含其他屬性,這些屬性又是對象,以此類推。

成員操作符in:

對于序列或集合這一數據類型,比如字符串、列表、元組,我們可以使用操作符in來測試成員關系,用not in測試非成員關系。

對于列表或元組,in使用的是線性搜索,對于較大的組合數據類型,速度可能會較慢;

對于字典或集合,in的速度可以非???#xff1b;

對于字符串數據類型,in可以很方便的測試任意長度的字符串。

邏輯運算符返回值:

and or not:and or使用的是短路邏輯,比如A and B,如果A為假,那么該表達式一定為假,B不會被計算;or也是如此;

上面的和C一樣,但有一點最不一樣的是,邏輯表達式的返回值:not返回的是True或False,而and or 返回的是決定結果的操作數,而不是布爾值(除非實際上是布爾操作數),比如 3 and 5表達式返回的是5.

a=1

a=a+1的過程分析:

第一條語句:a=1,Python會先創建一個存儲1的int對象,這個對象存儲在堆內,此時用戶還無法使用它,Python再創建一個名字為a的對象引用指向堆內的對象,用戶通過a便可以使用堆內的存儲1的對象。

第二條語句:a=a+1,由于int類型是固定的,也就是a引用的對象一旦賦值就不能改變,因此對固定的對象使用增強的賦值操作符時,實際上是創建一個對象來存儲結果,之后目標對象引用重新綁定,以便引用上面創建的結果對象,而不再引用以前的對象,以前的對象如果沒有其他對象引用,便會進入垃圾回收流程。

a+=b和a=a+b的微妙差別:

前者只查詢了一次a的值,因而速度更快,此外,如果a是一個復雜的表達式(有副作用的表達式),那么使用增強的賦值操作符較少出錯。因為計算的過程,維護者只需要改變一次,而不是兩次。

+=和序列:

在序列中,+=的右邊必須是可迭代的操作數,否則會產生TypeError,比如 a+=[2]或a+=[2,3,4],而不是a+=2;

在字符串序列里,a+="ABC",和a+=["ABC"]是不一樣的,如:

a=["A","BC"]

a+="ABC"#Python會迭代字符串序列的每個字母,最后結果是a為["A","BC","A","B","C"]

a+=["ABC"]#Python會迭代字符串列表的每一個數據項,最后結果是a為["A","BC","ABC"]

+=對于固定的數據類型和可變的數據類型:

對于固定的數據類型,使用增強的賦值操作符,會創建一個新的對象,并且表達式的左邊的對象引用將重新綁定到新的對象;

對于可變的數據類型,原始的對象會被修改。

固定的數據類型和可變的數據類型:

性能差別,固定的數據類型具有比可變的數據類型更高的潛力;有些組合數據類型(比如集合)只能操縱固定的數據類型;這就是Python規定兩種數據類型的原因。

函數庫的導入順序:

先導入Python的標準庫模塊,之后導入第三方庫模塊,最后才導入自己編寫的模塊。

總結

以上是生活随笔為你收集整理的python控制语句第一章_【原创】Python第一章的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。