首页
/
每日頭條
/
生活
/
python對象基礎組成
python對象基礎組成
更新时间:2024-11-11 02:36:47

使用對象組織數據

1.在程序中設計表格,我們稱之為:設計類(class)

class Student: name = None # 記錄學生姓名

2.在程序中打印表格,我們稱之為:創建對象

# 基于類創建對象 stu_1 = Student() stu_2 = Student()

3.在程序中填寫表格,我們稱之為:對象屬性賦值

stu_1.name = "小蘭花" # 為學生1對象賦予名稱屬性值 stu_2.name = "長珩" # 為學生2對象賦予名稱屬性值

  • 類的屬性,稱之為:成員變量
  • 類的行為,稱之為:成員方法

成員方法的定義語法

def 方法名(self, 形參1,……,形參N):

方法體

類隻是一種程序内的“設計圖紙”,需要基于圖紙生産實體(對象),才能正常工作

這種套路,稱之為:面向對象編程

屬性(成員變量)的賦值:

python類可以使用 __init__()方法,稱之為構造方法。

  • 在創建類對象(構造類)的時候,會自動執行。
  • 在創建類對象的時候,将傳入參數自動傳遞給__init__方法使用。
  • 需要使用self關鍵字

練習:學生信息錄入

開學了有一批學生信息需要錄入系統,請設計一個類,記錄學生的:

姓名、年齡、地址,這3類信息

請實現:

通過for循環,配合input輸入語句,并使用構造方法,完成學生信息的鍵盤錄入

輸入完成後,使用print語句,完成信息的輸出

class Student: # 屬性 name = None age = None address = None # 構造方法 def __init__(self): self.name = input("請輸入學生姓名:") self.age = int(input("請輸入學生年齡:")) self.address = input("請輸入學生地址:") for item in range(1,11): print(f"當前錄入第{item}位學習信息,總共需錄入10位學生信息") stu = Student() print(f"學生{item}信息錄入完成,信息為:[學生姓名:{stu.name},年齡:{stu.age},地址:{stu.address}]")

運行:

python對象基礎組成(python初識對象)1

魔術方法

__str__ 字符串方法

控制類轉換為字符串的行為。

__lt__ 小于符号比較方法

同時完成:小于符号和大于符号2種比較。

__le__ 小于等于符号比較方法

同時完成:小于等于符号和大于等于符号2種比較。

__eq__ 比較運算符實現方法

用于兩個類對象進行相等比較。

面向對象包含3大主要特性:

  • 封裝
  • 繼承
  • 多态

封裝練習:設計帶有私有成員的手機

設計一個手機類,内部包含:

私有成員變量:__is_5g_enable,類型bool,True表示開啟5g,False表示關閉5g

私有成員方法:__check_5g(),會判斷私有成員__is_5g_enable的值

若為True,打印輸出:5g開啟

若為False,打印輸出:5g關閉,使用4g網絡

公開成員方法:call_by_5g(),調用它會執行

調用私有成員方法:__check_5g(),判斷5g網絡狀态

打印輸出:正在通話中

運行結果:5g關閉,使用4g網絡

正在通話中

class Phone(): # 提供私有成員變量 __is_5g_enable = True # 提供私有成員方法 def __check_5g(self): if self.__is_5g_enable: print("5g開啟") else: print("5g關閉,使用4g網絡") # 提供公開成員方法 def call_by_5g(self): self.__check_5g() print("正在通話中") phone = Phone() phone.call_by_5g()

運行:

python對象基礎組成(python初識對象)2

單繼承 class 類名(父類名)

多繼承 class 類名(父類1,父類2,……,父類N)

pass 表示空,用來保證類定義的完整性

調用父類同名成員

方式1:調用父類成員

使用成員變量:父類名.成員變量

使用成員方法:父類名.成員方法(self)

方式2:使用super()調用父類成員

使用成員變量:super().成員變量

使用成員方法:super().成員方法()

變量類型注解

1.變量:類型

2.注釋中寫 # type:類型

函數(方法)類型注解-形參注解

def 函數方法名(形參名:類型,形參名:類型,……)

pass

函數(方法)類型注解-返回值注解

def 函數方法名(形參名:類型,形參名:類型,……) -> 返回值類型:

pass

聯合類型注解

from typing import Union

Union[類型,……,類型]

多态:

同樣的行為(函數),傳入不同的對象,得到不同的狀态

多态常作用在繼承關系上

函數(方法)形參聲明接收父類對象

實際傳入父類的子類對象進行工作

抽象類:含有抽象方法的類稱之為抽象類

抽象方法:方法體是空實現的(pass)稱之為抽象方法

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
做莜面的正确方法
做莜面的正确方法
做莜面的正确方法?食材:莜面500克、壓面機1個、蒸鍋1個、開水适量,今天小編就來聊一聊關于做莜面的正确方法?接下來我們就一起去研究一下吧!做莜面的正确方法食材:莜面500克、壓面機1個、蒸鍋1個、開水适量。把莜面粉放在盆裡,把水燒開,用一...
2024-11-11
微博粉絲通廣告怎麼做
微博粉絲通廣告怎麼做
“粉絲通”是基于微博海量的用戶,把推廣信息廣泛傳遞給粉絲和潛在粉絲的廣告産品。廣告主可以根據用戶屬性和社交關系将信息精準的投放給目标人群,廣告投放更加精準,有效推廣信息包括博文推廣、帳号推廣及應用推廣三種。同時微博“粉絲通”也具有普通微博的...
2024-11-11
最接近音箱的耳機
最接近音箱的耳機
HIFI大坑深入水,很多朋友可能剛起步,聽了不少網友的評價,我在其中也花費了不少精力和經驗。很多朋友會說,HIFI設備的音質,單元越大,體積越大,音質的底線越高,所以音箱音質比頭戴耳機好、頭戴音質比耳塞式的耳機好,甚至說幾千塊的音響要勝過幾...
2024-11-11
活剝蝦線的方法
活剝蝦線的方法
活剝蝦線的方法?活剝蝦線的方法:将活生生的蝦掐住脖子,然後再将頭和蝦線一起拽出這樣可以在最短的時間内徹底的清除蝦背部的蝦線,可以說蝦在生的時候最最容易去蝦線的,下面我們就來說一說關于活剝蝦線的方法?我們一起去了解并探讨一下這個問題吧!活剝蝦...
2024-11-11
店鋪怎麼引流推廣
店鋪怎麼引流推廣
店鋪怎麼引流推廣?首先要宣傳得當在節假日,或者是本地區的集市,夜市等,人多的時候,發送一些傳單這樣子可以多一些人知道,下面我們就來說一說關于店鋪怎麼引流推廣?我們一起去了解并探讨一下這個問題吧!店鋪怎麼引流推廣首先要宣傳得當。在節假日,或者...
2024-11-11
Copyright 2023-2024 - www.tftnews.com All Rights Reserved