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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类内的函数共享给对象使用

發布時間:2024/9/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类内的函数共享给对象使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、為對象指定自己獨有的屬性
class OldboyStudent:
  school="oldboy"
  count=0
  def __init__(self,x,y,z):#必須函數名為__init__,在調用類時自動觸發
    self.name = x
    self.age = y
    self.sex = z
    OldboyStudent.count+=1

  def choose_course(self):

    print("%s is choosing course" %self.name)

#調用類時發生兩件事
#發生兩件事,第一件事創造出一個空對象stu1#對象本質就是名稱空間,在點后面的名稱都稱為屬性
#自動觸發類中的__init__功能的執行,將stu1以及調用類括號內的參數一同傳入
stu1 = OldboyStudent("yf",18,"male")#因為默認傳入stu1所以只要傳入剩下參數即可
OldboyStudent.xx=2 #增加屬性,往類名稱空間內添加
print(stu1.xx)       #從對象空間開始找,沒有就去類空間找,如果類也沒有則報錯
print(stu1.__dict__)   #顯示出stu1內函數__init__自動觸發后的所有屬性
print(stu1.name)      #選擇stu1內的某個屬性
print(stu1) #顯示出stui內存地址
stu2 = OldboyStudent("fxc",18,"female")
stu1.choose_course() #用sut1對象運行類中的函數,形成綁定的關系

# print(stu1.count) #不斷調用類產生對象,可以通過計數得到個數,需要注意的是默認計數的開始要放在類的名稱空間內
# print(stu2.count) #計數的開始而是在對象的__init__內,需要通過類名稱.count來達到與默認值的連接來計數

# 類名稱空間中定義的數據屬性和函數屬性都是共享給所有對象用的
# 對象名稱空間中定義的只有數據屬性,而且是對象所獨有的數據屬性

?

2、繼承與派生
'''
1、什么是繼承
繼承是一種新建類的方式,新建的類稱為子類,被繼承的類稱為父類
繼承的特性是:子類會遺傳父類的屬性
強調:繼承是類與類之間的關系

2、為什么用繼承
繼承的好處就是可以減少代碼的冗余

3、如何用繼承
在python中支持一個類同時繼承多個父類
在python3中
如果一個類沒有繼承任何類,那默認繼承object類
在python2中:
如果一個類沒有繼承任何類,不會繼承object類

新式類
但凡繼承了object的類以及該類的子類,都是新式類
經典類
沒有繼承object的類以及該類的子類,都是經典類

在python3中都是新式類,只有在python2中才區別新式類與經典類

新式類vs經典類?

'''
class king:
? ? school = "oldbay"
? ? def __init__(self,name,age):
? ? ? ? self.name=name
? ? ? ? self.age=age


class OldbayStudent(king):#在括號內繼承父類的內容為繼承

? ? def __init__(self,name,age,course):#在自己內的特征,新誕生的屬性為派生
? ? ? ? king.__init__(self,name,age)#king訪問函數屬性,為訪問普通函數
? ? ? ? self.course=course

? ? def select(self,course):
? ? ? ? print("%s 選擇課程 %s" %(self.name,self.course))


class OldbayTeather(king):

? ? def __init__(self,name,age,grade):
? ? ? ? king.__init__(self,name,age)
? ? ? ? self.grade=grade

? ? def system(self,stu_name,num):#提供學生名與打分
? ? ? ? print("%s 打分" %self.name)
? ? ? ? stu_name.score=num#學生名.名稱=打分分數,直接加到學生的對象名稱空間中,__init__內


user1=OldbayStudent("yf",18,"python")
user2=OldbayStudent("fxc",21,"python")
user3=OldbayStudent("zz",21,"linex")
user4=OldbayTeather("egon",18,10)
user4.system(user1,99)#運行教師的函數,傳入對應的學生名與分數,
# 分數會對應學生名進入學生的名稱空間對象中
print()

轉載于:https://www.cnblogs.com/yf18767106368/p/9229695.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的类内的函数共享给对象使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。