
第九章、类一、创建和实用类#创建狗类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!")1.方法__init__()方法:类中的函数称为方法。
__init__()当我们根据类创建新实例时,Python都会自动执行这个函数。
self
属性
在类中可以通过self直接访问的变量
self.name = name 二、创建实例my_dog = Dog('willIE', 6)print('我的狗的名字是' + my_dog.name.Title() + '.')my_dog.sit()2.1 访问属性 & 调用方法采用句点 ==.==表示法
my_dog.name'''my_dog是实例name是实例中的属性'''my_dog.sit()#sit()是方法类创建好以后就可以创建多个实例了
2.2 给属性指定默认值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 red_odometer(self): '''打印一条指出汽车历程的信息''' print('这辆汽车一共走了' + self.odometer + '公里了!') #在定义类时,直接给属性赋值就行2.3 三种修改属性值的方式2.3.1 直接修改属性的值new_car('audi', 'a4', 2016)#直接通过实例访问属性,然后修改属性的值就行new_car.odometer_reading = 232.3.2 通过方法修改属性的值定义一个方法,通过这个方法修改属性的值
class Car(): --snip-- def update_odometer(self, mileage): if mileage >= self.odometer_reading: #这个函数用来给历程数指定特定的值 self.odometer_reading = mileage else: print('You can not roll back an odometer!')2.3.3 通过方法对属性的值进行递增class Car(): --snip-- def update_odometer(self, mileage): --snip-- def increment_odometer(self, miles): #将里程表读数增加指定的量 sefl.odometer_reading += miles三、继承什么时候继承?
继承的特点:
class ElectricCar(Car): '''电动车特有的地方''' def __init__(self, make, model, year): '''初始化父类的属性''' super().__init__(make, model, year)注意:
定义子类特有的方法
class Car(): --snip-- class ElectricCar(Car): def __init__(self, make, model, year):shuxb ''' 电动汽车的独特之处 初始化父类属性,再初始化电动车特有属性 ''' super().__init__(make, model, year) #在这里定义了一个新的属性 self.battery_size = 70 def describe_battery(self): #打印一条描述电瓶容量的消息 print('这辆车的电瓶容量是'+str(self.battery_size))3.2 重写父类的方法为什么要重写父类方法?
如何重写?
重写的意义?
#这是最开始的父类class Car(): --snip-- class Battery(): '''一次模拟电瓶车的简单尝试''' def __init__(self, battery_size = 70): self.battery_size = battery_size def describe_battery(self): #打印一条描述电瓶容量的消息 pring('这辆车的电瓶容量是'+str(self.battery_size)) classs Ecar(): '''这是一个电动车的类''' def __init__(self, make, model, year): '''初始化父类属性,再初始化电动车特有的属性''' super().__init__(make, model, year) self.battery = Battery()四、导入类#方法1import 模块名'''这种方法在后面使用模块中方法和属性的时候要在前面加上类名比如下面这种格式:'''Dog.my_dog.sit()#方法2from 模块名 import 类名'''这种方法导入模块中指定的类在后面编写代码的时候,不需要写类名'''#方法3from 模块名 import 类名'''导入模块中的所有类在后面编写代码时,不需要写类名''' 总结 以上是内存溢出为你收集整理的《Python从入门到实践》学习笔记---第九章、类(面向对象)全部内容,希望文章能够帮你解决《Python从入门到实践》学习笔记---第九章、类(面向对象)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)