🖼 人工智能学习总目录

🖼 《Python编程_从入门到实践》小结及目录

本章知识小结:

  • 1、定义类
  • 2、创建实例、使用属性、使用方法、更改属性值、调用方法更改属性值
  • 3、子类如何继承父类CobiDog(Dog)
  • 4、实例可做属性,写在__init__,self.heart = Heart()

1、创建和使用Dog类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Dog:

def __init__(self, name, age):
self.name = name
self.age = age

def sit(self):
print(f"{self.name} is now sitting.")

def roll_over(self):
print(f"{self.name} rolled over!")

#1、根据类创建实例
my_dog = Dog('Willie', 6)
your_dog = Dog('Lucy', 3)

#2、访问类内属性
print(f"My dog's name is {my_dog.name}.")
#3、调用类内方法
print(f"My dog is {my_dog.age} years old.")
my_dog.sit()

print(f"\nYour dog's name is {your_dog.name}.")
print(f"Your dog is {your_dog.age} years old.")
your_dog.sit()
  • 类中的函数称为方法,
  • 第3行 __init__()是一个特殊方法,每当用Dog创建新实例的时候会自动运行。
  • Python调用Dog方法的时候,都会自动传入实参self,他是一个指向实例本身的引用,让实例能够访问类中的属性和方法。
  • 第6、7行 处两个变量都有前缀self,self.name = name获取与形参name相关联的值,并将其赋值给类内的变量name
  • 第9、13行 定义的两个方法只有一个形参self,不需要额外的参数

2、使用Car类和实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Car:

#1、初始化汽车属性
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 = f"{self.year} {self.make} {self.model}"
return long_name.title()

def read_odometer(self):
print(f"This car has {self.odometer_reading} miles on it.")

def update_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")

def increment_odometer(self, miles):
self.odometer_reading += miles

my_used_car = Car('subaru', 'outback', 2015)
print(my_used_car.get_descriptive_name())

my_used_car.update_odometer(23_500)
my_used_car.read_odometer()

my_used_car.increment_odometer(100)
my_used_car.read_odometer()

练习题

9-1 餐馆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Restaurant:
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type

def descirbe_restaurant(self):
print(f"{self.restaurant_name}{self.cuisine_type}。")

def open_restaurant(self):
print(f"{self.restaurant_name}正在营业。")

huacan = Restaurant("花花餐厅","糖醋鲤鱼")
huacan.descirbe_restaurant()
huacan.open_restaurant()

9-2 三家餐厅

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Restaurant:
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type

def descirbe_restaurant(self):
print(f"{self.restaurant_name}{self.cuisine_type}。")

def open_restaurant(self):
print(f"{self.restaurant_name}正在营业。")

huacan = Restaurant("花花餐厅","糖醋鲤鱼")
huacan.descirbe_restaurant()
huacan.open_restaurant()

xiaocan = Restaurant("小小餐厅","素炒三鲜")
xiaocan.descirbe_restaurant()
xiaocan.open_restaurant()

zican = Restaurant("自助餐厅","所有菜品")
zican.descirbe_restaurant()
zican.open_restaurant()

9-3 用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class User:
def __init__(self,first_name,last_name):
self.first_name = first_name
self.last_name = last_name

def describe_user(self):
print(f"用户的名字是 {self.last_name}{self.first_name}。")

def greet_user(self):
print(f"祝 {self.last_name}{self.first_name} 天天开心")

huaxi = User("夕","花")
huaxi.describe_user()
huaxi.greet_user()