python學習基礎第一階段day08

2021-10-02 02:10:49 字數 3210 閱讀 2483

"""

函式記憶體分配

"""# 將函式建立的**載入到記憶體中(**區)

# 備註:函式不執行

deffunc01()

: a =

1000

# 呼叫函式在記憶體中開闢空間(棧幀)

# 備註:儲存在函式內部建立的變數

func01(

)# 函式執行後棧幀銷毀

# 結論:

#  不可變型別的資料傳參時,函式內部不會改變原資料的值。

#  可變型別的資料傳參時,函式內部可以改變原資料。

deffunc02

(p1,p2)

:# 修改棧幀中變數儲存的位址

p1 =

100# 修改列表第乙個元素儲存的位址

p2[0]

=200

a =10

# 不可變物件

b =[20]

# 可變物件

# 將變數a,b儲存的資料位址傳入函式

func02(a,b)

print

(a)# 10

print

(b)# [200]

"""

作用域區域性

全域性"""# 全域性作用域:整個檔案都可以使用

g01 =

"a"def

func01()

:# 區域性作用域:函式內部可以使用

a =100print

(g01)

# 可以讀取全域性變數

deffunc02()

:# 在區域性作用域建立了變數g01(沒有修改全域性變數)

# g01 = "b"

global g01 # 宣告變數

g01 =

"b"global g02 # 特別不建議

g02 =

"c"func01(

)func02(

)print

(g01)

# ?print

(g02)

# ?

實際引數:

"""

函式引數

實際引數:呼叫者以何種方式傳遞資料

位置實參

-- 序列實參

關鍵字實參

-- 字典實參

"""def

func01

(p1, p2, p3)

:print

(p1)

print

(p2)

print

(p3)

# 1. 位置實參:位置

func01(1,

2,3)

list01 =

["a"

,"b"

,"c"

]# 2. -- 序列實參:拆

func01(

*list01)

# dict01 =

# func01(*dict01)# 之傳入key,所以沒有意義

# 3. 關鍵字實參:名字

func01(p3=

2, p1=

1, p2=3)

# 4. -- 字典實參:拆

dict01 =

func01(

**dict01)

"""

形式引數:約束實參

預設形參:可選

位置形參:必選

星號元組形參:合(位置形參)

關鍵字形參:強制使用關鍵字實參

雙星號字典實參:合(關鍵字形參)

"""# 1.位置形參:必選

deffunc01

(p1, p2, p3)

:print

(p1)

print

(p2)

print

(p3)

# 2.預設形參:可選

deffunc02

(p1=

true

, p2=

"", p3=0)

:print

(p1)

print

(p2)

print

(p3)

func02(

)func02(

false

,"a",10

)func02(p2=

"a")

func02(

false

, p3=

"c")

# 3. 星號元組形參:合(位置實參)

# 備註:以args命名(不叫p1)

deffunc03

(*p1)

:print

(p1)

func03(

)func03(34,

5,6,

7,8)

list01 =

["a"

,"b"

,"c"

]func03(

*list01)

# func03(a=1, b=2)

# 4.命名關鍵字形參:必須使用關鍵字形參

# 星號後面的位置形參是命名關鍵字形參

deffunc04

(p3,

*args, p1=

0, p2=1)

:print

(p3)

print

(args)

print

(p1)

print

(p2)

func04(1,

2,3, p1=

2, p2=3)

# p1 位置形參 p2 命名關鍵字形參

deffunc05

(p1,

*, p2)

:print

(p1)

print

(p2)

print

(func05(

1, p2=5)

)print

(func05(p1=

1, p2=5)

)# 5.雙星號字典形參:合(關鍵字實參)

# # 備註:以args命名(不叫p1)

deffunc06

(**kwargs)

:print

(kwargs)

func06(

)func06(a=

1, b=

2, c=

3)

Python 基礎第一階段筆記(一)

剛開始接觸python,一直以來也沒理清什麼頭緒,看大牛的建議,打算寫點筆記,稍稍理一理吧。第一節課 匯率兌換 1 字串的提取 在python中字串是從0開始排序的,最後乙個字元是從 1開始往前排序的,即 0 1 2 3 4 5 p y t h o n 6 5 4 3 2 1 則要提取輸入字串中金額...

python複習第一階段

linux基礎命令 cd 切換目錄和路徑 pwd 檢視當前路徑 clear 清屏 mv 移動 剪下 重新命名檔案 ls 檢視當前資料夾下的內容 ls a 顯示指定目錄下所有子目錄和檔案,包括隱藏檔案 ls l 以列表方式顯示檔案的詳細資訊 touch 建立檔案 mkdir 建立目錄 mkdir p ...

PHP自學,第一階段,基礎學習

環境搭建os x系統上 win7執行os x虛擬機器 在 os x上安裝mamp執行環境 使用 php版本開發 資料庫使用mysql 自學資料使用 php從入門到精通.pdf 第一階段書寫學習 外加注釋詳解 注釋方式 echo 我是胖魚做出來的 多行注釋 shell指令碼方式注釋 echo str3...