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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python10/22--面向对象编程/类与对象/init函数

發(fā)布時(shí)間:2023/12/13 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python10/22--面向对象编程/类与对象/init函数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
類:
語(yǔ)法: class關(guān)鍵字 類名
# 類名規(guī)范 大寫開頭 駝峰命名法
class SHOldboyStudent:
# 描述該類對(duì)象的特征
school = "上海Oldboy"
name = "矮根"
age = 68
gender = "unknown"

# 在定義階段
# 只要包含該類的py被執(zhí)行 就會(huì)做兩件事情
# 1.就會(huì)創(chuàng)建類的名稱空間
# 2.執(zhí)行代碼 將產(chǎn)生的名稱放入名稱空間
print("========================")

# 描述該類對(duì)象的行為 通過(guò)函數(shù)
def say_hi(abc):
print(abc)
print("hello oldBoy")

#使用類中的屬性
print(SHOldboyStudent.__dict__)
print(SHOldboyStudent.__dict__["name"])
print(SHOldboyStudent.name)

# 使用類中的函數(shù)
print(SHOldboyStudent.__dict__["say_hi"])
print(SHOldboyStudent.say_hi)
# 使用類直接調(diào)用類中函數(shù)時(shí) 與普通函數(shù)沒有任何區(qū)別 位self僅僅是一個(gè)置參數(shù)
SHOldboyStudent.say_hi(10)



對(duì)象的使用 class OldboyStudent:
# 如果每個(gè)對(duì)象的這個(gè)屬性都相同 才應(yīng)該定義到類中 比如所有人的學(xué)校都是上海Oldboy
school = "上海Oldboy"

# 創(chuàng)建對(duì)象
# 語(yǔ)法: 在類名后加括號(hào) 與調(diào)用函數(shù)寫法相同
# stu = OldboyStudent()
# # 訪問對(duì)象的屬性
# print(stu.school)
# print(OldboyStudent.school)

# 修改屬性的值
# stu.school = "北京Oldboy"
# print(stu.school)
#
# # 增加屬性
# stu.room_num = "1008"
# print(stu.room_num)
#
# # 刪除屬性
# del stu.room_num
# print(stu.room_num)

# 對(duì)象 與類的名稱空間是獨(dú)立的
# stu.school = "深圳oldboy" # 為對(duì)象的屬性賦予新的值
# print(OldboyStudent.school) # 類中的屬性不會(huì)變化
# stu.room_num = "1008" # 為對(duì)象增加屬性
# # print(OldboyStudent.room_num) #類中也不會(huì)出現(xiàn)新的屬性
# print(stu.__dict__)
# print(OldboyStudent.__dict__)

# 如果對(duì)象的屬性是相同的 就放到類中 作為一個(gè)公共的數(shù)據(jù)
# stu.school #大家都是上海小區(qū)

# stu2 = OldboyStudent()
# print(stu2.__dict__)


init函數(shù): # __init__稱之為初始化函數(shù) 它會(huì)在創(chuàng)建對(duì)象的時(shí)候自動(dòng)執(zhí)行
# 創(chuàng)建對(duì)象時(shí)
# 1.創(chuàng)建一個(gè)空對(duì)象
# 2.執(zhí)行__init__函數(shù) 并且自動(dòng)傳入了這個(gè)對(duì)象

# 該函數(shù)的作用,就是為對(duì)象的屬性賦初始值 #1. 使用場(chǎng)景 需要為每個(gè)對(duì)象定制不同的屬性值
#2.__init__在創(chuàng)建對(duì)象后自動(dòng)執(zhí)行
#3.第一個(gè)self參數(shù) 指的是這個(gè)對(duì)象本身 不需要手動(dòng)傳值


1.所有程序都因該使用面向?qū)ο髞?lái)設(shè)計(jì)嗎?為什么?
不是所有程序都應(yīng)該使用面向?qū)ο?應(yīng)該面向?qū)ο髸?huì)提高程序的復(fù)雜度,對(duì)于一些擴(kuò)展要求不高的程序,則不一定非要使用面向?qū)ο?/span>
2.什么是對(duì)象 什么是類
對(duì)象指的是現(xiàn)實(shí)生活中實(shí)實(shí)在在存在的物體,并且其具備獨(dú)特的特征與行為 反過(guò)來(lái)可以理解為 特征與行為的結(jié)合體
類是一些具備相同特征和技能的事物的抽象概念,不實(shí)際存在
3.在面向過(guò)程編程中我們思考解決方案時(shí),是分析完成任務(wù)時(shí)需要哪些步驟,按照什么樣的順序來(lái)編寫,而在面向?qū)ο缶幊讨形覀儚牟僮髡咿D(zhuǎn)變?yōu)橹笓]者 首先思考的是什么?
首先思考,完成任務(wù)需要哪些對(duì)象來(lái)參與
其次分析這些對(duì)象具備哪些特征和行為
最后按照分析結(jié)果編寫class

4.一個(gè)類中通常包含變量和函數(shù),它們分別用于描述什么?
變量用于描述該類對(duì)象共同的屬性
函數(shù)用于描述該類對(duì)象具備的行為(技能)

5.類在定義階段發(fā)生了什么
立即執(zhí)行類中的代碼 將產(chǎn)生的名字存放在類的名稱空間中
6.創(chuàng)建對(duì)象時(shí)發(fā)生了什么
1.創(chuàng)建空對(duì)象
2.自動(dòng)執(zhí)行init函數(shù) 將這個(gè)對(duì)象以及額外的參數(shù)組裝后傳給該函數(shù)

7.什么是綁定方法,和普通函數(shù)有什么區(qū)別
綁定方法其實(shí)就是對(duì)象和函數(shù)得綁定在一起
在調(diào)用綁定方法時(shí),會(huì)自動(dòng)傳入對(duì)象本身
最終執(zhí)行的還是類中定義的函數(shù)
綁定方法僅僅是幫我們自動(dòng)傳入了對(duì)象
區(qū)別:
普通函數(shù)在調(diào)用時(shí),根據(jù)函數(shù)聲明有幾個(gè)參數(shù)就一定要傳幾個(gè)參數(shù)
而綁定函數(shù)在調(diào)用時(shí),會(huì)自動(dòng)傳入對(duì)象本身,所以通常我們手寫的參數(shù)個(gè)數(shù)比聲明的少一個(gè)

?

轉(zhuǎn)載于:https://www.cnblogs.com/junge666/p/9832697.html

總結(jié)

以上是生活随笔為你收集整理的Python10/22--面向对象编程/类与对象/init函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。