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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

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

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

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

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



對象的使用 class OldboyStudent:
# 如果每個對象的這個屬性都相同 才應該定義到類中 比如所有人的學校都是上海Oldboy
school = "上海Oldboy"

# 創建對象
# 語法: 在類名后加括號 與調用函數寫法相同
# stu = OldboyStudent()
# # 訪問對象的屬性
# 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)

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

# 如果對象的屬性是相同的 就放到類中 作為一個公共的數據
# stu.school #大家都是上海小區

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


init函數: # __init__稱之為初始化函數 它會在創建對象的時候自動執行
# 創建對象時
# 1.創建一個空對象
# 2.執行__init__函數 并且自動傳入了這個對象

# 該函數的作用,就是為對象的屬性賦初始值 #1. 使用場景 需要為每個對象定制不同的屬性值
#2.__init__在創建對象后自動執行
#3.第一個self參數 指的是這個對象本身 不需要手動傳值


1.所有程序都因該使用面向對象來設計嗎?為什么?
不是所有程序都應該使用面向對象,應該面向對象會提高程序的復雜度,對于一些擴展要求不高的程序,則不一定非要使用面向對象
2.什么是對象 什么是類
對象指的是現實生活中實實在在存在的物體,并且其具備獨特的特征與行為 反過來可以理解為 特征與行為的結合體
類是一些具備相同特征和技能的事物的抽象概念,不實際存在
3.在面向過程編程中我們思考解決方案時,是分析完成任務時需要哪些步驟,按照什么樣的順序來編寫,而在面向對象編程中我們從操作者轉變為指揮者 首先思考的是什么?
首先思考,完成任務需要哪些對象來參與
其次分析這些對象具備哪些特征和行為
最后按照分析結果編寫class

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

5.類在定義階段發生了什么
立即執行類中的代碼 將產生的名字存放在類的名稱空間中
6.創建對象時發生了什么
1.創建空對象
2.自動執行init函數 將這個對象以及額外的參數組裝后傳給該函數

7.什么是綁定方法,和普通函數有什么區別
綁定方法其實就是對象和函數得綁定在一起
在調用綁定方法時,會自動傳入對象本身
最終執行的還是類中定義的函數
綁定方法僅僅是幫我們自動傳入了對象
區別:
普通函數在調用時,根據函數聲明有幾個參數就一定要傳幾個參數
而綁定函數在調用時,會自動傳入對象本身,所以通常我們手寫的參數個數比聲明的少一個

?

轉載于:https://www.cnblogs.com/junge666/p/9832697.html

總結

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

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