筆記
基礎概念
python包 packages.py
- 項目:
- 包1
- xx1.py
- xx2.py
- …
- 包2
- xx1.py
- xx2.py
- …
- 包1
函數.py
def 函數名([參數, 參數, ]):
函數體
調試
- 先打斷點
- shift + F9
- step over (F8)
- step into F7
- step into mycode
- force step into
- stp out
- run to cursor
- evalute expression
書寫規範 PEP8
判斷類型
type 只能找出是 什麼類型,不好判斷
isinstance()
isinstance(3, int)
函數 可變參數
def add(*args):
print(args)
# 參數個數不確定
add() # 輸出空 元組 ()
add(1)
add('a', 2, 'love', [1, 2])
‘*’ 拆裝包!
*args = # 底層準備好容器(), 等待裝包
- 可變參數 和 固定參數 同時存在:
- 可變參數往後放, 類比 元組 * 賦值
def add(name, age, *args):
s = int(0)
for i in args:
s += i
print(name, 'age is', age, 'sum is', s)
add('Jam', 23, 1, 2, 3, 4)
帶有 默認值 參數
def func(a,b,c=0):
pass
關鍵字參數
def func(**kwargs): # key-word argument
# 函數 以字典形式 存儲
pass
func()
func(a=1, b=2, c=3) # 必須 k= w 格式賦值
也就是說:一顆星 * 默認生成元組來存儲
兩顆星號 ** 默認 字典存儲
- 如何傳入字典: 拆包 - 裝包
func({'a': 'py', 'b': 'c++'})
- 爲什麼報錯:
- 因爲沒有按照 k=v 格式傳入
func(**{'a': 'py', 'b': 'c++'})
-
爲什麼不報錯:
- 首先字典的拆包: k:v
- 然後 傳入 裝包
-
總彙
def bb(a, b, *c, **d):
print(a, b, c, d)
函數 返回值
- return
- 有返回值,必須有接收賦值
- 多個接收
def func_r():
return 1,2,3
a, b, c = func_r()
全局變量
不可變的 全局變量 在函數裏
可直接獲取,但是 修改 需聲明
(可變元素的修改不需要)
def func():
global xxx