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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python常用变量名_python基础知识整理

發(fā)布時(shí)間:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python常用变量名_python基础知识整理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python

Python開發(fā)

Python語言

python基礎(chǔ)知識(shí)整理

序言:本文簡(jiǎn)單介紹python基礎(chǔ)知識(shí)的一些重要知識(shí)點(diǎn),用于總結(jié)復(fù)習(xí),每個(gè)知識(shí)點(diǎn)的具體用法會(huì)在后面的博客中一一補(bǔ)充程序:

一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令,是實(shí)現(xiàn)某種需求的軟件。

操作系統(tǒng):

管理和控制計(jì)算機(jī)軟件與硬件資源的程序;

隔離不同硬件的差異,使開發(fā)程序簡(jiǎn)單化。

例如,Windows,Linux,Unix。

硬件:

主板--計(jì)算機(jī)的主要電路系統(tǒng)。

CPU?--主要負(fù)責(zé)執(zhí)行程序指令,處理數(shù)據(jù)。

硬盤--持久化存儲(chǔ)數(shù)據(jù)的記憶設(shè)備,容量大,速度慢。

內(nèi)存--臨時(shí)存儲(chǔ)數(shù)據(jù)的記憶設(shè)備,容量小,速度快。

IO設(shè)備--鍵盤、鼠標(biāo)、顯示器。

Python定義

是一個(gè)免費(fèi)、開源、跨平臺(tái)、動(dòng)態(tài)、面向?qū)ο蟮木幊陶Z言。

Python程序的執(zhí)行方式

交互式

在命令行輸入指令,回車即可得到結(jié)果。

打開終端

進(jìn)入交互式:python3

編寫代碼:print(“hello world”)

離開交互式:exit()

文件式

將指令編寫到.py文件,可以重復(fù)運(yùn)行程序。

編寫文件。

打開終端

進(jìn)入程序所在目錄:cd 目錄

執(zhí)行程序: python3 文件名

Linux常用命令

1.?pwd:查看當(dāng)前工作目錄的路徑

2.?ls:查看指定目錄的內(nèi)容或文件信息

3.?cd:改變工作目錄(進(jìn)入到某個(gè)目錄)

練習(xí):

在指定目錄創(chuàng)建python文件.

--目錄:/home/tarena/1905/month01

--文件名:exercise01.py

2. 在文件中寫入:print(“你好,世界!”)

3. 運(yùn)行python程序

執(zhí)行過程

計(jì)算機(jī)只能識(shí)別機(jī)器碼(1010),不能識(shí)別源代碼(python)。

由源代碼轉(zhuǎn)變成機(jī)器碼的過程分成兩類:編譯和解釋。

編譯:在程序運(yùn)行之前,通過編譯器將源代碼變成機(jī)器碼,例如:C語言。

-- 優(yōu)點(diǎn):運(yùn)行速度快

-- 缺點(diǎn):開發(fā)效率低,不能跨平臺(tái)。

解釋:在程序運(yùn)行之時(shí),通過解釋器對(duì)程序逐行翻譯,然后執(zhí)行。例如Javascript

-- 優(yōu)點(diǎn):開發(fā)效率高,可以跨平臺(tái);

-- 缺點(diǎn):運(yùn)行速度慢。

python是解釋型語言,但為了提高運(yùn)行速度,使用了一種編譯的方法。編譯之后得到pyc文件,存儲(chǔ)了字節(jié)碼(特定于Python的表現(xiàn)形式,不是機(jī)器碼)。

源代碼 -- 編譯 --> 字節(jié)碼 -- 解釋 --> 機(jī)器碼

|————1次———|

解釋器類型

CPython(C語言開發(fā))

Jython (java開發(fā))

IronPython (.net開發(fā))移動(dòng)到本行開頭:home鍵

移動(dòng)到本行末尾:end鍵盤

注釋代碼:ctrl?+ /

復(fù)制行:ctrl +d

選擇列:鼠標(biāo)左鍵 + alt

移動(dòng)行:shift?+ alt + 上下箭頭

智能提示:Ctrl + Space

數(shù)據(jù)基本運(yùn)算

pycharm常用快捷鍵

注釋

給人看的,通常是對(duì)代碼的描述信息。

單行注釋:以#號(hào)開頭。

多行注釋:三引號(hào)開頭,三引號(hào)結(jié)尾。

函數(shù)

表示一個(gè)功能,函數(shù)定義者是提供功能的人,函數(shù)調(diào)用者是使用功能的人。

例如:

print(數(shù)據(jù))?作用:將括號(hào)中的內(nèi)容顯示在控制臺(tái)中

變量 =?input(“需要顯示的內(nèi)容”) 作用:將用戶輸入的內(nèi)容賦值給變量

定義:關(guān)聯(lián)一個(gè)對(duì)象的標(biāo)識(shí)符。

命名:必須是字母或下劃線開頭,后跟字母、數(shù)字、下劃線。

變量

不能使用關(guān)鍵字(藍(lán)色),否則發(fā)生語法錯(cuò)誤:SyntaxError: invalid syntax。

建議命名:字母小寫,多個(gè)單詞以下劃線隔開。

class_name

賦值:創(chuàng)建一個(gè)變量或改變一個(gè)變量關(guān)聯(lián)的數(shù)據(jù)。

語法:變量名 = 數(shù)據(jù)

變量名1 = 變量名2 =?數(shù)據(jù)

變量名1, 變量名2, = 數(shù)據(jù)1,?數(shù)據(jù)2

del 語句

語法:

del 變量名1, 變量名2

作用:

用于刪除變量,同時(shí)解除與對(duì)象的關(guān)聯(lián).如果可能則釋放對(duì)象。

自動(dòng)化內(nèi)存管理的引用計(jì)數(shù):

每個(gè)對(duì)象記錄被變量綁定(引用)的數(shù)量,當(dāng)為0時(shí)被銷毀。

核心數(shù)據(jù)類型

在python中變量沒有類型,但關(guān)聯(lián)的對(duì)象有類型。

通過type函數(shù)可查看。

表示不存在的特殊對(duì)象。

作用:占位和解除與對(duì)象的關(guān)聯(lián)。

表示整數(shù),包含正數(shù)、負(fù)數(shù)、0。

空值對(duì)象None

整形int

如:?-5, 100, 0

字面值:

十進(jìn)制:5

二進(jìn)制:0b開頭,后跟1或者1

八進(jìn)制:0o開頭,后跟0~7

十六進(jìn)制:0x開頭,后跟0~9,A~F,a~f

小整數(shù)對(duì)象池:CPython 中整數(shù) -5 至 256,永遠(yuǎn)存在小整數(shù)對(duì)象池中,不會(huì)被釋放并可重復(fù)使用。

表示小數(shù),包含正數(shù)、負(fù)數(shù),0.0)。

字面值:

浮點(diǎn)型float

小數(shù):1.0 ??2.5

科學(xué)計(jì)數(shù)法:e/E (正負(fù)號(hào)) 指數(shù)

1.23e-2 (等同于0.0123)

1.23456e5(等同于123456.0)

字符串str

是用來記錄文本信息(文字信息)。

字面值:雙引號(hào)

復(fù)數(shù)complex

由實(shí)部和虛部組成的數(shù)字。

虛部是以j或J結(jié)尾。

字面值:?1j ????1+1j ??1-1j

布爾bool

用來表示真和假的類型

True 表示真(條件滿足或成立),本質(zhì)是1

False 表示假(條件不滿足或不成立),本質(zhì)是0

數(shù)據(jù)類型轉(zhuǎn)換

轉(zhuǎn)換為整形: int(數(shù)據(jù))

轉(zhuǎn)換為浮點(diǎn)型:float(數(shù)據(jù))

轉(zhuǎn)換為字符串:str(數(shù)據(jù))

轉(zhuǎn)換為布爾:bool(數(shù)據(jù))

結(jié)果為False:bool(0) ?bool(0.0) ?bool(None)

混合類型自動(dòng)升級(jí):

1 + 2.14 ?返回的結(jié)果是 3.14

1 + 3.0 ??返回結(jié)果是: ?4.0

運(yùn)算符

算術(shù)運(yùn)算符

+ 加法

- 減法

* 乘法

/ 除法:結(jié)果為浮點(diǎn)數(shù)

// 地板除:除的結(jié)果去掉小數(shù)部分

% 求余

** 冪運(yùn)算

優(yōu)先級(jí)從高到低:?()

**

* ?/ % //

+ ?-

增強(qiáng)運(yùn)算符

y += x 等同于 y = y + x

y -= x 等同于 y = y - x

y *= x 等同于 y = y * x

y /= x 等同于 y = y / x

y //= x 等同于 y = y // x

y %= x 等同于 y = y % x

y **= x 等同于 y = y ** x

比較運(yùn)算符

< 小于

<= 小于等于

> 大于

>= 大于等于

== 等于

!= 不等于

返回布爾類型的值

比較運(yùn)算的數(shù)學(xué)表示方式:0 <= x <= 100

邏輯運(yùn)算符

與and

表示并且的關(guān)系,一假俱假。

示例:

True and True # True

True and False # False

False and True # False

False and False # False

或or

表示或者的關(guān)系,一真俱真

示例:

True or True # True

True or False # True

False or True # True

False or False # False

非not

表示取反

例如:

not True ??# 返回False

not False ?# 返回True

短路運(yùn)算

一但結(jié)果確定,后面的語句將不再執(zhí)行。

身份運(yùn)算符

語法:

x is y

x is not y

作用:

is?用于判斷兩個(gè)對(duì)象是否是同一個(gè)對(duì)象,是時(shí)返回True,否則返回False。

is not 的作用與is相反

優(yōu)先級(jí)

高到低:

算數(shù)運(yùn)算符

比較運(yùn)算符

快捷運(yùn)算符

身份運(yùn)算符

邏輯運(yùn)算符

語句

物理行:程序員編寫代碼的行。

邏輯行:python解釋器需要執(zhí)行的指令。

建議一個(gè)邏輯行在一個(gè)物理行上。

如果一個(gè)物理行中使用多個(gè)邏輯行,需要使用分號(hào);隔開。

5. ?如果邏輯行過長(zhǎng),可以使用隱式換行或顯式換行。

隱式換行:所有括號(hào)的內(nèi)容換行,稱為隱式換行

括號(hào)包括: ?() ?[] ??{} 三種

顯式換行:通過折行符 (反斜杠)換行,必須放在一行的末尾,目的是告訴解釋器,下一行也是本行的語句。

pass 語句

通常用來填充語法空白。

選擇語句

Ifelifelse語句

作用:

讓程序根據(jù)條件選擇性的執(zhí)行語句。

語法:

if 條件1:

語句塊1

elif 條件2:

語句塊2

else:

語句塊3

說明:

elif 子句可以有0個(gè)或多個(gè)。

else 子句可以有0個(gè)或1個(gè),且只能放在if語句的最后。

if 語句的真值表達(dá)式

if 100:

print("真值")

等同于

if bool(100):

print("真值")

條件表達(dá)式

語法:變量 = 結(jié)果1?if 條件?else 結(jié)果2

作用:根據(jù)條件(True/False) 來決定返回結(jié)果1還是結(jié)果2。

循環(huán)語句

while語句

作用:

可以讓一段代碼滿足條件,重復(fù)執(zhí)行。

語法:

while 條件:

滿足條件執(zhí)行的語句

else:

不滿足條件執(zhí)行的語句

說明:

else子句可以省略。

在循環(huán)體內(nèi)用break終止循環(huán)時(shí),else子句不執(zhí)行。

for 語句

作用:

用來遍歷可迭代對(duì)象的數(shù)據(jù)元素。

可迭代對(duì)象是指能依次獲取數(shù)據(jù)元素的對(duì)象,例如:容器類型。

語法:

for 變量列表 in 可迭代對(duì)象:

語句塊1

else:

語句塊2

說明:

else子句可以省略。

在循環(huán)體內(nèi)用break終止循環(huán)時(shí),else子句不執(zhí)行。

range 函數(shù)

作用:

用來創(chuàng)建一個(gè)生成一系列整數(shù)的可迭代對(duì)象(也叫整數(shù)序列生成器)。

語法:

range(開始點(diǎn),結(jié)束點(diǎn),間隔)

說明:

函數(shù)返回的可迭代對(duì)象可以用for取出其中的元素

返回的數(shù)字不包含結(jié)束點(diǎn)

開始點(diǎn)默認(rèn)為0

間隔默認(rèn)值為1

跳轉(zhuǎn)語句

break 語句

跳出循環(huán)體,后面的代碼不再執(zhí)行。

可以讓while語句的else部分不執(zhí)行。

continue 語句

跳過本次,繼續(xù)下次循環(huán)。

容器類型

通用操作

數(shù)學(xué)運(yùn)算符

+:用于拼接兩個(gè)容器

+=:用原容器與右側(cè)容器拼接,并重新綁定變量

*:重復(fù)生成容器元素

*=:用原容器生成重復(fù)元素, 并重新綁定變量

< <= > >= == !=:依次比較兩個(gè)容器中元素,一但不同則返回比較結(jié)果。

語法:

成員運(yùn)算符

數(shù)據(jù) in 序列

數(shù)據(jù) not in 序列

作用:

如果在指定的序列中找到值,返回bool類型。

索引index

作用:訪問容器元素

語法:容器[整數(shù)]

說明:

正向索引從0開始,第二個(gè)索引為1,最后一個(gè)為len(s)-1。

反向索引從-1開始,-1代表最后一個(gè),-2代表倒數(shù)第二個(gè),以此類推,第一個(gè)是-len(s)。

切片slice

作用:

從容器中取出相應(yīng)的元素重新組成一個(gè)容器。

語法:

容器[(開始索引):(結(jié)束索引)(:(步長(zhǎng)))]

說明:

小括號(hào)()括起的部分代表可省略

結(jié)束索引不包含該位置元素

步長(zhǎng)是切片每次獲取完當(dāng)前元素后移動(dòng)的偏移量

內(nèi)建函數(shù)

len(x) 返回序列的長(zhǎng)度

max(x) 返回序列的最大值元素

min(x) 返回序列的最小值元素

sum(x) 返回序列中所有元素的和(元素必須是數(shù)值類型)

字符串 str

定義

由一系列字符組成的不可變序列容器,存儲(chǔ)的是字符的編碼值。

編碼

字節(jié)byte:計(jì)算機(jī)最小存儲(chǔ)單位,等于8 位bit.

字符:單個(gè)的數(shù)字,文字與符號(hào)。

字符集(碼表):存儲(chǔ)字符與二進(jìn)制序列的對(duì)應(yīng)關(guān)系。

編碼:將字符轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制序列的過程。

解碼:將二進(jìn)制序列轉(zhuǎn)換為對(duì)應(yīng)的字符的過程。

編碼方式:

--ASCII編碼:包含英文、數(shù)字等字符,每個(gè)字符1個(gè)字節(jié)。

--GBK編碼:兼容ASCII編碼,包含21003個(gè)中文;英文1個(gè)字節(jié),漢字2個(gè)字節(jié)。

--Unicode字符集:國(guó)際統(tǒng)一編碼,舊字符集每個(gè)字符2字節(jié),新字符集4字節(jié)。

--?UTF-8編碼:Unicode的存儲(chǔ)與傳輸方式,英文1字節(jié),中文3字節(jié)。

相關(guān)函數(shù)

ord(字符串):返回該字符串的Unicode碼。

chr(整數(shù)):返回該整數(shù)對(duì)應(yīng)的字符串。

單引號(hào)內(nèi)的雙引號(hào)不算結(jié)束符

雙引號(hào)內(nèi)的單引號(hào)不算結(jié)束符

換行會(huì)自動(dòng)轉(zhuǎn)換為換行符n

三引號(hào)內(nèi)可以包含單引號(hào)和雙引號(hào)

作為文檔字符串

改變字符的原始含義。

字面值

單引和雙引號(hào)的區(qū)別

三引號(hào)作用

轉(zhuǎn)義字符

’ ?” ?””” ?n ?\ ?t ? ?空字符

原始字符串:取消轉(zhuǎn)義。

a = r”C:newfiletest.py”

字符串格式化

定義:

生成一定格式的字符串。

語法:

字符串%(變量)

"我的名字是%s,年齡是%s" % (name, age)

類型碼:

%s 字符串 ????%d整數(shù) ????%f 浮點(diǎn)數(shù)

列表 list

定義

由一系列變量組成的可變序列容器。

基礎(chǔ)操作

創(chuàng)建列表:

列表名 = []

列表名 =?list(可迭代對(duì)象)

添加元素:

列表名.append(元素)

列表.insert(索引,元素)

定位元素:

索引、切片

遍歷列表:

正向:

for?變量名 in?列表名:

變量名就是元素

反向:

for 索引名 in?range(len(列表名)-1,-1,-1):

列表名[索引名]就是元素

刪除元素:

列表名.remove(元素)

del?列表名[索引或切片]

深拷貝和淺拷貝

淺拷貝:復(fù)制過程中,只復(fù)制一層變量,不會(huì)復(fù)制深層變量綁定的對(duì)象的復(fù)制過程。

深拷貝:復(fù)制整個(gè)依懶的變量。

列表VS字符串

列表和字符串都是序列,元素之間有先后順序關(guān)系。

字符串是不可變的序列,列表是可變的序列。

字符串中每個(gè)元素只能存儲(chǔ)字符,而列表可以存儲(chǔ)任意類型。

列表和字符串都是可迭代對(duì)象。

函數(shù):

將多個(gè)字符串拼接為一個(gè)。

result = "連接符".join(列表)

將一個(gè)字符串拆分為多個(gè)。

列表?= “a-b-c-d”.split(“分隔符”)

列表推導(dǎo)式

定義:

使用簡(jiǎn)易方法,將可迭代對(duì)象轉(zhuǎn)換為列表。

語法:

變量?= [表達(dá)式?for 變量?in 可迭代對(duì)象]

變量?= [表達(dá)式?for 變量?in 可迭代對(duì)象?if 條件]

說明:

如果if真值表達(dá)式的布爾值為False,則可迭代對(duì)象生成的數(shù)據(jù)將被丟棄。

列表推導(dǎo)式嵌套

語法:

變量 = [表達(dá)式?for 變量1 in 可迭代對(duì)象1 for 變量2 in可迭代對(duì)象2]

傳統(tǒng)寫法:

result = []

for r in ?["a", "b", "c"]:

for c in ["A", "B", "C"]:

result.append(r + c)

推導(dǎo)式寫法:

result = [r + c for r in list01 for c in list02]

元組tuple

定義

由一系列變量組成的不可變序列容器。

不可變是指一但創(chuàng)建,不可以再添加/刪除/修改元素。

創(chuàng)建空元組:

基礎(chǔ)操作

元組名 =?()

元組名 =?tuple()

創(chuàng)建非空元組:

元組名?= (20,)

元組名?= (1, 2, 3)

元組名?= 100,200,300

元組名 =?tuple(可迭代對(duì)象)

獲取元素:

索引、切片

遍歷元組:

正向:

for?變量名 in?列表名:

變量名就是元素

反向:

for 索引名 in?range(len(列表名)-1,-1,-1):

元祖名[索引名]就是元素

作用

元組與列表都可以存儲(chǔ)一系列變量,由于列表會(huì)預(yù)留內(nèi)存空間,所以可以增加元素。

元組會(huì)按需分配內(nèi)存,所以如果變量數(shù)量固定,建議使用元組,因?yàn)檎加每臻g更小。

應(yīng)用:

變量交換的本質(zhì)就是創(chuàng)建元組:x, y = y, x

格式化字符串的本質(zhì)就是創(chuàng)建元祖:"姓名:%s, 年齡:%d" ?% ("tarena", 15)

字典dict

定義

由一系列鍵值對(duì)組成的可變映射容器。

映射:一對(duì)一的對(duì)應(yīng)關(guān)系,且每條記錄無序。

鍵必須惟一且不可變(字符串/數(shù)字/元組),值沒有限制。

創(chuàng)建字典:

基礎(chǔ)操作

字典名 =?{鍵1:值1,鍵2:值2}

字典名 =?dict (可迭代對(duì)象)

添加/修改元素:

語法:

字典名[鍵]?=?數(shù)據(jù)

說明:

鍵不存在,創(chuàng)建記錄。

鍵存在,修改映射關(guān)系。

獲取元素:

變量?= 字典名[鍵] ?# 沒有鍵則錯(cuò)誤

遍歷字典:

for?鍵名 in?字典名:

字典名[鍵名]

for?鍵名,值名 in?字典名.items():

語句

刪除元素:

del?字典名[鍵]

字典推導(dǎo)式

定義:

使用簡(jiǎn)易方法,將可迭代對(duì)象轉(zhuǎn)換為字典。

語法:

{鍵:值?for 變量?in 可迭代對(duì)象}

{鍵:值?for 變量?in 可迭代對(duì)象?if 條件}

字典VS 列表

都是可變?nèi)萜鳌?/p>

獲取元素方式不同,列表用索引,字典用鍵。

字典的插入,刪除,修改的速度快于列表。

列表的存儲(chǔ)是有序的,字典的存儲(chǔ)是無序的。由一系列不重復(fù)的不可變類型變量組成的可變映射容器。

相當(dāng)于只有鍵沒有值的字典(鍵則是集合的數(shù)據(jù))。

創(chuàng)建空集合:

集合set

定義

基礎(chǔ)操作

集合名 =?set()

集合名 =?set(可迭代對(duì)象)

創(chuàng)建具有默認(rèn)值集合:

集合名 =?{1, 2, 3}

集合名 =?set(可迭代對(duì)象)

添加元素:

集合名.add(元素)

刪除元素:

集合名.discard(元素)

運(yùn)算

交集&:返回共同元素。

s1 = {1, 2, 3}

s2 = {2, 3, 4}

s3 = s1 & s2 ?# {2, 3}

并集:返回不重復(fù)元素

s1 = {1, 2, 3}

s2 = {2, 3, 4}

s3 = s1 | s2 ?# {1, 2, 3, 4}

補(bǔ)集-:返回只屬于其中之一的元素

s1 = {1, 2, 3}

s2 = {2, 3, 4}

s1 - s2 ?# {1}?屬于s1但不屬于s2

補(bǔ)集^:返回不同的的元素

s1 = {1, 2, 3}

s2 = {2, 3, 4}

s3 = s1 ^ s2 ?# {1, 4} ?等同于(s1-s2 | s2-s1)

子集<:判斷一個(gè)集合的所有元素是否完全在另一個(gè)集合中

超集>:判斷一個(gè)集合是否具有另一個(gè)集合的所有元素

s1 = {1, 2, 3}

s2 = {2, 3}

s2 < s1 ?# True

s1 > s2 ?# True

相同或不同== !=:判斷集合中的所有元素是否和另一個(gè)集合相同。

s1 = {1, 2, 3}

s2 = {3, 2, 1}

s1 == s2 ?# True

s1 != s2 ?# False

子集或相同,超集或相同?<= ?>=

集合推導(dǎo)式

定義:

使用簡(jiǎn)易方法,將可迭代對(duì)象轉(zhuǎn)換為集合。

語法:

{表達(dá)式?for 變量?in 可迭代對(duì)象}

{表達(dá)式?for 變量?in 可迭代對(duì)象?if 條件}

固定集合 frozenset

定義

不可變的集合。

作用

固定集合可以作為字典的鍵,還可以作為集合的值。

基礎(chǔ)操作

創(chuàng)建固定集合:frozenset(可迭代對(duì)象)

運(yùn)算

等同于set

函數(shù) function

pycharm相關(guān)設(shè)置

“代碼自動(dòng)完成”時(shí)間延時(shí)設(shè)置

File -> Settings?-> Editor -> General -> Code Completion?-> Autopopup in (ms):0

快捷鍵:

Ctrl + P 參數(shù)信息(在方法中調(diào)用參數(shù))

Ctrl + Q 快速查看文檔

Ctrl + Alt + M 提取方法

定義

用于封裝一個(gè)特定的功能,表示一個(gè)功能或者行為。

函數(shù)是可以重復(fù)執(zhí)行的語句塊, 可以重復(fù)調(diào)用。

作用

提高代碼的可重用性和可維護(hù)性(代碼層次結(jié)構(gòu)更清晰)。

定義函數(shù)

語法:

def 函數(shù)名(形式參數(shù)):

函數(shù)體

說明:

def 關(guān)鍵字:全稱是define,意為”定義”。

函數(shù)名:對(duì)函數(shù)體中語句的描述,規(guī)則與變量名相同。

形式參數(shù):方法定義者要求調(diào)用者提供的信息。

函數(shù)體:完成該功能的語句。

函數(shù)的第一行語句建議使用文檔字符串描述函數(shù)的功能與參數(shù)。語法:函數(shù)名(實(shí)際參數(shù))

說明:根據(jù)形參傳遞內(nèi)容。

定義:

調(diào)用函數(shù)

返回值

方法定義者告訴調(diào)用者的結(jié)果。

語法:

return?數(shù)據(jù)

說明:

return后沒有語句,相當(dāng)于返回 None。

函數(shù)體沒有return,相當(dāng)于返回None。

可變/不可變類型在傳參時(shí)的區(qū)別

不可變類型參數(shù)有:

數(shù)值型(整數(shù),浮點(diǎn)數(shù),復(fù)數(shù))

布爾值bool

None 空值

字符串str

元組tuple

固定集合frozenset

可變類型參數(shù)有:

列表 list

字典 dict

集合 set

傳參說明:

不可變類型的數(shù)據(jù)傳參時(shí),函數(shù)內(nèi)部不會(huì)改變?cè)瓟?shù)據(jù)的值。

可變類型的數(shù)據(jù)傳參時(shí),函數(shù)內(nèi)部可以改變?cè)瓟?shù)據(jù)。

函數(shù)參數(shù)

實(shí)參傳遞方式argument

位置傳參

定義:實(shí)參與形參的位置依次對(duì)應(yīng)。

序列傳參

定義:實(shí)參用*將序列拆解后與形參的位置依次對(duì)應(yīng)。

關(guān)鍵字傳參

定義:實(shí)參根據(jù)形參的名字進(jìn)行對(duì)應(yīng)。

字典關(guān)鍵字傳參

定義:實(shí)參用**將字典拆解后與形參的名字進(jìn)行對(duì)應(yīng)。

作用:配合形參的缺省參數(shù),可以使調(diào)用者隨意傳參。

語法:

形參定義方式parameter

缺省參數(shù)

def 函數(shù)名(形參名1=默認(rèn)實(shí)參1, 形參名2=默認(rèn)實(shí)參2, ...):

函數(shù)體

說明:

缺省參數(shù)必須自右至左依次存在,如果一個(gè)參數(shù)有缺省參數(shù),則其右側(cè)的所有參數(shù)都必須有缺省參數(shù)。

缺省參數(shù)可以有0個(gè)或多個(gè),甚至全部都有缺省參數(shù)。

位置形參

語法:

def 函數(shù)名(形參名1, 形參名2, ...):

函數(shù)體

星號(hào)元組形參

語法:

def 函數(shù)名(*元組形參名):

函數(shù)體

作用:

收集多余的位置傳參。

說明:

一般命名為'args'

形參列表中最多只能有一個(gè)

命名關(guān)鍵字形參

語法:

def 函數(shù)名(*, 命名關(guān)鍵字形參1, 命名關(guān)鍵字形參2, ...):

函數(shù)體

def 函數(shù)名(*args, 命名關(guān)鍵字形參1, 命名關(guān)鍵字形參2, ...):

函數(shù)體

作用:

強(qiáng)制實(shí)參使用關(guān)鍵字傳參

雙星號(hào)字典形參

語法:

def 函數(shù)名(**字典形參名):

函數(shù)體

作用:

收集多余的關(guān)鍵字傳參

說明:

一般命名為'kwargs'

形參列表中最多只能有一個(gè)

參數(shù)自左至右的順序

位置形參?--> 星號(hào)元組形參?-->?命名關(guān)鍵字形參?--> 雙星號(hào)字典形參

作用域LEGB

作用域:變量起作用的范圍。

Local局部作用域:函數(shù)內(nèi)部。

Enclosing ?外部嵌套作用域 :函數(shù)嵌套。

Global全局作用域:模塊(.py文件)內(nèi)部。

Builtin內(nèi)置模塊作用域:builtins.py文件。

由內(nèi)到外:L -> E -> G -> B

在訪問變量時(shí),先查找本地變量,然后是包裹此函數(shù)外部的函數(shù)內(nèi)部的變量,之后是全局變量,最后是內(nèi)置變量。

定義在函數(shù)內(nèi)部的變量(形參也是局部變量)

只能在函數(shù)內(nèi)部使用

調(diào)用函數(shù)時(shí)才被創(chuàng)建,函數(shù)結(jié)束后自動(dòng)銷毀

定義在函數(shù)外部,模塊內(nèi)部的變量。

在整個(gè)模塊(py文件)范圍內(nèi)訪問(但函數(shù)內(nèi)不能將其直接賦值)。

作用:

變量名的查找規(guī)則

局部變量

全局變量

global 語句

在函數(shù)內(nèi)部修改全局變量。

在函數(shù)內(nèi)部定義全局變量(全局聲明)。

語法:

global 變量1, 變量2, …

說明

在函數(shù)內(nèi)直接為全局變量賦值,視為創(chuàng)建新的局部變量。

不能先聲明局部的變量,再用global聲明為全局變量。

nonlocal 語句

作用:

在內(nèi)層函數(shù)修改外層嵌套函數(shù)內(nèi)的變量

語法

nonlocal 變量名1,變量名2, ...

說明

在被嵌套的內(nèi)函數(shù)中進(jìn)行使用

內(nèi)容來源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系客服刪除

總結(jié)

以上是生活随笔為你收集整理的python常用变量名_python基础知识整理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。