1. 程式人生 > 其它 >python程式設計-從入門到實踐-學習筆記-下篇

python程式設計-從入門到實踐-學習筆記-下篇

技術標籤:Pythonpython

第八章 匯入模組

pizza.py

def make_pizza(size, *toppings): 
    """概述要製作的比薩""" 
    print("\nMaking a " + str(size) + "-inch pizza with the following toppings:") 
    for topping in toppings: 
        print("- " + topping)

test.py

import pizza

pizza.make_pizza(16, 'pepperoni') 
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

在這裡插入圖片描述

匯入特定的函式

語法:from module_name import function_name
from module_name import function_0, function_1, function_2
pizza.py

def make_pizza(size, *toppings): 
    """概述要製作的比薩"
"" print("\nMaking a " + str(size) + "-inch pizza with the following toppings:") for topping in toppings: print("- " + topping)

test.py

from pizza import make_pizza

make_pizza(16, 'pepperoni') 
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese'
)

在這裡插入圖片描述

使用使 as 給函式指定別名 typedef

如果要匯入的函式的名稱可能與程式中現有的名稱衝突,或者函式的名稱太長,可指定簡短而獨一無二的別名別 ——函式的另一個名稱

下面給函式make_pizza() 指定了別名mp() 。這是在import 語句中使用make_pizza as mp 實現的,關鍵字as 將函式重新命名為你提供的別名:
pizza.py

def make_pizza(size, *toppings): 
    """概述要製作的比薩""" 
    print("\nMaking a " + str(size) + "-inch pizza with the following toppings:") 
    for topping in toppings: 
        print("- " + topping)

test.py

from pizza import make_pizza as mp

mp(16, 'pepperoni') 
mp(12, 'mushrooms', 'green peppers', 'extra cheese')

在這裡插入圖片描述

使用使 as 給模組指定別名

import pizza as p 

p.make_pizza(16, 'pepperoni') 
p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

在這裡插入圖片描述

匯入模組中的所有函式 (*)

from pizza import * 
make_pizza(16, 'pepperoni') 
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

在這裡插入圖片描述

第九章 類

  • 使用類幾乎可以模擬任何東西。
  • 下面來編寫一個表示小狗的簡單類Dog ——它表示的不是特定的小狗,而是任何小狗
  • 它們都有名字 和年齡
  • 我們還知道,大多數小狗還會蹲下和打滾
  • 這個類讓 Python知道如何建立表示小狗的物件。編寫這個類後,我們將使用它來建立表示特定小狗的例項。

方法方 init() 初始化類

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

我們將方法__init__() 定義成了包含三個形參:self 、name 和age 。

形參self 必不可少,還必須位於其他形參的前面。為何必須在方法定義中包 含形參self 呢?因為Python呼叫這個__init__() 方法來建立Dog 例項時,將自動傳入實參self 。 它是一個指向例項本身 的引用,讓例項能夠訪問類中的屬性和方法

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!")
my_dog = Dog('willie', 6) 
print("My dog's name is " + my_dog.name.title() + ".") 
print("My dog is " + str(my_dog.age) + " years old.")

在這裡插入圖片描述

訪問類的變數和函式 .

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!")
      
my_dog = Dog('willie', 6) 
my_dog.sit() 
my_dog.roll_over()

在這裡插入圖片描述

使用類建立多個例項

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!")
      
my_dog = Dog('willie', 6) 
your_dog = Dog('lucy', 3) 
print("My dog's name is " + my_dog.name.title() + ".") 
print("My dog is " + str(my_dog.age) + " years old.") 
my_dog.sit() 
print("\nYour dog's name is " + your_dog.name.title() + ".") 
print("Your dog is " + str(your_dog.age) + " years old.") 
your_dog.sit()

在這裡插入圖片描述

Car 類

class Car(): 
    """一次模擬汽車的簡單嘗試""" 
    def __init__(self, make, model, year): 
        """初始化描述汽車的屬性""" 
        self.make = make 
        self.model = model 
        self.year = year 
    def get_descriptive_name(self): 
        """返回整潔的描述性資訊""" 
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model 
        return long_name.title() 
my_new_car = Car('audi', 'a4', 2016) 
print(my_new_car.get_descriptive_name())

在這裡插入圖片描述

給類屬性(變數)----指定預設值

下面來新增一個名為odometer_reading 的屬性,其初始值總是為0。我們還添加了一個名為read_odometer() 的方法,用於讀取汽車的里程錶:

class Car(): 
    """一次模擬汽車的簡單嘗試""" 
    def __init__(self, make, model, year): 
        """初始化描述汽車的屬性""" 
        self.make = make 
        self.model = model 
        self.year = year
        self.odometer_reading = 0 
    def get_descriptive_name(self): 
        """返回整潔的描述性資訊""" 
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model 
        return long_name.title() 
    def read_odometer(self): 
        """列印一條指出汽車裡程的訊息""" 
        print("This car has " + str(self.odometer_reading) + " miles on it.")
my_new_car = Car('audi', 'a4', 2016) 
print(my_new_car.get_descriptive_name())
my_new_car.read_odometer()

在這裡插入圖片描述

修改類屬性的3個方法

  • 可以直接修改
  • 間接修改,使用方法
  • 通過遞增進行修改
class Car(): 
    """一次模擬汽車的簡單嘗試""" 
    def __init__(self, make, model, year): 
        """初始化描述汽車的屬性""" 
        self.make = make 
        self.model = model 
        self.year = year
        self.odometer_reading = 0 
    def get_descriptive_name(self): 
        """返回整潔的描述性資訊""" 
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model 
        return long_name.title() 
    def read_odometer(self): 
        """列印一條指出汽車裡程的訊息""" 
        print("This car has " + str(self.odometer_reading) + " miles on it.")
    def update_odometer(self, mileage): 
        """將里程錶讀數設定為指定的值"""
        self.odometer_reading = mileage
    def increment_odometer(self, miles): 
        """將里程錶讀數增加指定的量""" 
        self.odometer_reading += miles
my_new_car = Car('audi', 'a4', 2016) 
print(my_new_car.get_descriptive_name())
"""直接修改"""
my_new_car.odometer_reading = 23 
"""方法修改"""
my_new_car.update_odometer(23)   
"""新增修改"""
my_new_car.increment_odometer(23)  
my_new_car.read_odometer()

在這裡插入圖片描述

繼承!!!

在這裡插入程式碼片

背景

在這裡插入程式碼片

背景

在這裡插入程式碼片

背景

在這裡插入程式碼片

背景

在這裡插入程式碼片

背景

在這裡插入程式碼片

背景

在這裡插入程式碼片