在python中,定義乙個函式要使用def
語句,依次寫出函式名、括號、括號中的引數和冒號:
,然後,在縮排塊中編寫函式體,函式的返回值用return
語句返回。
1.函式:
定義函式時,需要確定函式名和
引數個數;函式體內部可以用return
隨時返回函式結果;函式執行完畢也沒有return
語句時,自動return none
def
my_abs
(x):
if x >= 0:
return x
my_abs 函式 x引數
****2.引數:python中函式的
引數有4種形式******
1、位置或關鍵字引數
2、僅位置的引數
3、任意數量的位置引數 *a
4、任意數量的關鍵字引數 **a
1)
power(x, n)
函式有兩個引數:x
和n
,這兩個引數都是
位置引數,
必選引數在前,預設引數在後
當函式有多個引數時,把變化大的引數放前面,變化小的引數放後面。變化小的引數就可以作為預設引數。
預設引數必須指向不變物件!
def
calc
(*numbers):定義
可變引數
和定義乙個list或tuple引數相比,僅僅在引數前面加了乙個
*
號
def
person
(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
2)關鍵字引數kw :在呼叫該函式時,可以只傳入必選引數;和可變引數類似,也可以先組裝出乙個dict,然後,把該dict轉換為關鍵字引數傳進去
>>> extra =
>>> person('jack', 24, **extra)
name: jack age: 24 other:
3)限制關鍵字引數的名字,就可以用命名關鍵字引數,命名關鍵字引數需要乙個特殊分隔符
*
,*
後面的引數被視為命名關鍵字引數
def
person
(name, age, *, city, job):
print(name, age, city, job)
>>> person('jack', 24, city='beijing', job='engineer')
jack 24 beijing engineer
總結:
引數定義的順序必須是:必選引數、預設引數、可變引數/命名關鍵字引數和關鍵字引數。
*args
是可變引數,args接收的是乙個tuple;
**kw
是關鍵字引數,kw接收的是乙個dict。
屬性
例項屬性
:給例項繫結屬性的方法是通過例項變數,或者通過self
變數:
類屬性:如果student
類本身需要繫結乙個屬性呢?可以直接在class中定義屬性,這種屬性是類屬性,歸student
類所有,當我們定義了乙個類屬性後,這個屬性雖然歸類所有,但類的所有例項都可以訪問到
>>>
class
student
(object):
... name = 'student'
...>>> s = student() # 建立例項s
>>> print(s.name) # 列印name屬性,因為例項並沒有name屬性,所以會繼續查詢class的name屬性
student
>>> print(student.name) # 列印類的name屬性
student
>>> s.name = 'michael'
# 給例項繫結name屬性
參考:
C 易混淆點(二)
二進位制的100 的第0位是 0 1 第二位 0 第一位 0 第0位 所以把乙個數的第三位進行清零 置位 取反的操作如下 include define bit3 0x01 3 對乙個數的第三位進行清零 置位 取反 int main 程式的儲存區域分為 段 唯讀資料段 已初始化的讀寫資料段 未初始化的...
Python之易混淆點一
前言 is,都是用來比較兩個物件是否相等的運算子,可是它們依據什麼來判斷是true 還是 false呢?一 a 1 2,3 b 1 2,3 4 print id a id b 5005896 5005960 print a b false c a.copy 1,2,3 1,2,3 print a,c...
mysql易混淆點
1 alter table 表名 change name names char 40 after 欄位名 改變位置放到字段之後 before 放到字段之前 2 查詢要攜帶索引字段,通常放在select之後第乙個 3 檢視檢視命令 show table status where comment vie...