1. 程式人生 > 實用技巧 >python 定義函式關鍵字def 簡單介紹

python 定義函式關鍵字def 簡單介紹

一 在類中定義的def

# python中def 是用來幹什麼的?
# 可以定義函式,就是定義一個功能。
class People():
    def __init__(self):
        print("引數self的值是:         " + str(self))
        print("self.__class__ 的值是: " + str(self.__class__))
        print("init 方法,跟著類的載入而執行")

    '''
        1 定義函式的關鍵字  在python中想要定一個函式,必須使用def 關鍵字
        2 後面跟函式名 xx    括號裡面定義各種行參   def run(行參1,行引數2.....)
        3 在class中定義的def  空參時,自動加入self。   在python的類中self代表例項本身,具體來說,是該例項的記憶體地址。
        4 return [表示式] 結束函式,選擇性地返回一個值給呼叫方。 想要返回啥直接return。
        5 沒有return 返回值是一個none
        
        def 函式名(行參1,行引數2.....):     寫在類中的def,在沒有行參時,編輯器自動加入一個self
            需要的功能
            return  xx          指定一個返回值
    
''' def eat(self): # 沒有行參 print("吃飯") # 未指定返回值 是none def add(a, b): # 定義兩個行參 c = a + b print(c) return c # 返回一個c 指定c作為返回值 ,需要返回啥,就指定啥。

呼叫函式,檢視效果

二 聊一聊 python中的賦值 , 類的初始化。首先看一下什麼是賦值

class People():
    def __init__(self):
        print("引數self的值是:         
" + str(self)) print("self.__class__ 的值是: " + str(self.__class__)) print("init 方法,跟著類的載入而執行") def eat(self): # 沒有行參 print("吃飯") # 未指定返回值 是none def add(a, b): # 定義兩個行參 c = a + b print(c) return c # 返回一個c 指定c作為返回值 ,需要返回啥,就指定啥。 # 這裡是將物件people 賦值給 p
p = People print(p) # 列印的是同一個物件 print(People) print(id(p)) # id() 函式用於獲取物件的記憶體地址 二者是相等的 print(id(People)) print("------") # 可以用people物件來呼叫相關的方法 People.add(2,3)

例項化走一波

class People():
    def __init__(self):
        print("引數self的值是:         " + str(self))
        print("self.__class__ 的值是: " + str(self.__class__))
        print("init 方法,跟著類的載入而執行")

    def eat(self):    # 沒有行參
        print("吃飯")  # 未指定返回值  是none

    def add(a, b):  # 定義兩個行參
        c = a + b
        print(c)
        return c    # 返回一個c     指定c作為返回值 ,需要返回啥,就指定啥。


# 例項化和賦值的區別在於 加上了()
p = People()                    # 例項化了一個物件people   __init__ 方法會自動執行

print("------------")

print(p)    # 1 列印的是一個例項物件  <__main__.People object at 0x10133dd00>   2 列印的結果和print(self)相同,都是代表這個例項。

呼叫der 方法

class People():
    def __init__(self):
        print(self)
        print(self.__class__)
        print("init 方法,跟著類的載入而執行")

    def eat(self):    # 沒有行參
        print("吃飯")  # 未指定返回值  是none

    def add(a, b):  # 定義兩個行參
        c = a + b
        print(c)
        return c    # 返回一個c     指定c作為返回值 ,需要返回啥,就指定啥。


# 例項化和賦值的區別在於 加上了()
p = People()                    # 例項化了一個物件people   __init__ 方法會自動執行

print("------------")

print(p)    # 1 列印的是一個例項物件  <__main__.People object at 0x10133dd00>   2 列印的結果和print(self)相同,都是代表這個例項。


p.eat()

p.add(3,4)