创建和使用类
关于类的概念是我学习以来第一次碰到
面向对象编程,随着学习深入,再进行补充
附上练习代码
# 面向对象编程
# 表示小狗的一个简单类
class Dog():
"""一次模拟小狗的简单尝试"""
def __init__(self, name, age):
"""初始化属性 name 和 age"""
self.name = name
self.age = age
def sit(self):
"""模拟小狗被命令时蹲下"""
print(self.name.title() + ' is sitting now.')
def roll_over(self):
"""模拟小狗被命令时打滚"""
print(self.name.title() + ' rolled over!')
# 小写开头的my_dog是一个表示特定小狗的实例
my_dog = Dog('William', 6)
print(my_dog.name.title() + ' ' + str(my_dog.age))
# 使用句点法调用类中的定义
my_dog.roll_over()
my_dog.sit()
# 可创建多个实例
your_dog = Dog('lucy', 3)
# 创建一个Restaurant的类
class Restaurant():
def __init__(self, restaurant_name, cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print('The name is ' + self.restaurant_name.title())
print('The cuisine type is ' + self.cuisine_type)
@staticmethod
def open_restaurant():
print('The restaurant is opening!')
my_restaurant = Restaurant('delicious food', 'spicy')
my_restaurant.describe_restaurant()
my_restaurant.open_restaurant()
-
创建类
class + 类名():
通常类的名字大写开头,用来与实例的小写开头相对应 -
方法
类中的函数称为方法method
一个特殊的方法:def __init__(self + 其他形参):
self
会自动传递,当我们创建实例时,只需给后面的形参提供值即可 -
根据类创建实例
特定的实例,属于类,通常约定用小写字母开头
例如my_dog = Dog(形参)
使用句点法进行访问属性和调用方法
my_restaurant = Restaurant('delicious food', 'spicy')
my_restaurant.describe_restaurant()
my_restaurant.open_restaurant()
类似于C语言中结构体访问,同样使用句点法进行访问