Python程式設計從入門到實踐筆記 類

2021-08-30 17:40:21 字數 3951 閱讀 8162

#coding=gbk

#python程式設計從入門到實踐筆記——類

#9.1建立和使用類

#1.建立dog類

class dog():#類名首字母大寫

"""一次模擬小狗的簡單嘗試"""

def __init__(self,name,age):

"""初始化屬性name和age"""

self.name = name

self.age = age

def sit(self):

"""模擬小狗被命令時蹲下"""

print(self.name.title() + " is now sitting.")

def roll_over(self):

"""模擬小狗被命令時打滾"""

print(self.name.title() + " rolled over!")

#__init__()是乙個特殊的方法,每當根據dog類建立新例項時,python都會自動執行它。

#在這個方法的名稱中,開頭和末尾各有兩個下劃線,這是一種約定,旨在避免python預設方法與普通方法發生名稱衝突。

#方法__init__()定義成了包含三個形參:self、name和age。在這個方法的定義中,形參self必不可少,還必須位於其他形參的前面。

#python呼叫這個__init__()方法來建立dog例項時,將自動傳入實參self。每個與類相關聯的方法呼叫都自動傳遞實參self,它是乙個指向例項本身

#的引用, 讓例項能夠訪問類中的屬性和方法。 我們建立dog 例項時,python將呼叫dog類的方法__init__() 。

#我們將通過實參向dog()傳遞名字和年齡;self會自動傳遞,因此我們不需要傳遞它。每當我們根據dog類建立例項時,都只需給最後兩個形參(name 和age )提供值。

#2.根據類建立例項

my_dog = dog('willie',6)

print("my dog's name is " + my_dog.name.title() + " and he is "+ str(my_dog.age) + " years old.")

#訪問屬性 .

my_dog.name

#呼叫方法

my_dog.sit()

#建立多個例項

my_dog = dog('willie',6)

your_dog = dog('lucy',7)

#9.2使用類和例項

#1.car類

class car():

"""一次模擬汽車的簡單嘗試"""

def __init__(self, make, model, year):

"""初始化描述汽車的屬性"""

self.make = make

self.model = model

self.year = year

#新增屬性odometer_reading,並設定預設值為0

self.odometer_reading = 0

def get_odometer(self):

print("this car has " + str(self.odometer_reading) + " miles on it.")

def set_odometer(self,mileage):

self.odometer_reading = mileage

def get_descriptive_name(self):

"""返回整潔的描述性資訊"""

long_name = str(self.year) + ' ' + self.make + ' ' + self.model

return long_name.title()

my_new_car = car('audi', 'a4l', 2016)

print(my_new_car.get_descriptive_name())

my_new_car.get_odometer()

#2.給屬性指定預設值

#3.修改屬性的值

#直接修改

my_new_car.odometer_reading = 23

my_new_car.get_odometer()

#通過方法修改

#def set_odometer(self,mileage)

my_new_car.set_odometer(35)

my_new_car.get_odometer()

#9.3繼承

#建立子類的時候,父類必須包含在當前檔案中,且位於子類的前面。

#定義子類的時候,必須在括號內指定父類的名稱。

#方法__init__()接受建立car例項所需的資訊

#super()幫助python將父類和子類關聯起來。

class battery():

def __init__(self, battery_size=70):

self.battery_size = battery_size

def describe_battery(self):

print("this car has a "+ str(self.battery_size) + "-kwh battery.")

#1.子類的方法__init__()

class electriccar(car):

def __init__(self, make, model, year):

super().__init__(make, model, year)

self.battery_size = 70

self.battery = battery()

def describe_battery(self):

print("this car has a " + str(self.battery_size) + "-kwh battery.")

def fill_gas_tank(self):

print("this car doesn't need a gas tank!")

my_tesla = electriccar('teala', 'model s', 2016)

print(my_tesla.get_descriptive_name())

#2.給子類定義屬性和方法

my_tesla.describe_battery()

#3.重寫父類的方法:取其精華,去其糟粕

#def fill_gas_tank(self):

my_tesla.fill_gas_tank()

#4.將例項用作屬性

#class battery():

my_tesla.battery.describe_battery()

#9.4匯入類

#1.匯入單個類

#開啟模組dog(這裡我為了方便在dog.py中寫的內容),並匯入其中的car類

from dog import car

my_new_car = car('audi','a4',2016)

print(my_new_car.get_descriptive_name())

#在乙個模組中儲存多個類:直接在模組中編寫多個類

#從乙個模組中匯入多個類

from dog import car, battery

#匯入整個模組

import dog

#匯入模組中的所有類

#from module_name import *

#在乙個模組中匯入另乙個模組

#9.5python標準庫

#9.6類編碼風格

#類名:駝峰命名法(大駝峰),不適用下劃線

#例項名和模組名:小駝峰,單詞之間加下劃線

#每個模組都應包含乙個文件字串

#空行的使用:在類中使用乙個空行來分割方法;在模組中,使用兩個空行來分割類

#匯入標準庫中的模組和自己編寫的模組,先導入標準庫,空行,匯入自己的模組

Python 程式設計 從入門到實踐

1.官網安裝 3.環境配置 務必選中核取方塊add python to path 4.檢視 啟動python版本的命令 python 執行 print hello python world 5.終端執行x.py檔案 python x.py 7.檢視當前目錄中的所有檔案的命令 dir windows系...

Python程式設計從入門到實踐 基礎入門

python程式設計從入門到實踐 基礎入門 1 python中的變數 2 python首字母大寫使用title 方法,全部大寫upper 方法,全部小寫lower 方法 3 python中字串拼接使用 號 4 python中刪除字串的空格 刪除末尾空格的rstrip 刪除開頭空格的lstrip 刪除...

Python程式設計 從入門到實踐 1

內容總結自 python程式設計 從入門到實踐 安裝python3 安裝文字編輯器sublime text並配置python3環境 安裝sublime text tools new build system 將 untitled.sublime build 文件中的所有內容刪除,輸入以下內容 注意,...