python入门-类(一)
1 最简单的一个类
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',)
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + "years old.") my_dog.sit()
my_dog.roll_over()
__init__是初始化类
类的属性和方法的 访问方式 默认的self 是自身,函数可以编写这个形参,但是实际不用传self
2 一个类 可以创建多个实例
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',)
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + "years old.") my_dog.sit()
my_dog.roll_over() your_dog = Dog('lucy',)
print("Your dog's name is " + your_dog.name.title() + ".")
print("Your dog is " + str(your_dog.age) + "years old.")
3 类的多个用法
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化属性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 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 def fill_gas_tank(self):
print("This car doesn't need a gas tank") my_new_car = Car('audi', 'a4' ,'')
print(my_new_car.get_descriptive_name())
my_new_car.read_odometer() my_new_car.odometer_reading=
my_new_car.read_odometer() my_new_car.update_odometer()
my_new_car.read_odometer() my_new_car.increment_odometer()
my_new_car.read_odometer()
可以给类添加默认值,也可以修改类中的属性的值 多重练习
4 类的继承
class ElectricCar(Car):
"""电动汽车的独特之处""" def __init__(self, make, model,year):
"""初始化父类的属性"""
super().__init__(make,model,year)
self.battery_size = def describe_battery(self):
print("This car has a " + str(self.battery_size) +"-kwh battery.") def fill_gas_tank(self):
print("This is OK!") my_tesla = ElectricCar('tesla','model s',)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
my_tesla.fill_gas_tank()
紧跟着上面,创建一个子类,可以在子类中复写父类的方法
子类和父类使用关键字super()关联 父类也叫做超类,这是super的由来
5 把类集中放到 其他的类中,也可以方便的调用
class Battery():
def __init__(self,battery_size=):
"""初始化电瓶的属性"""
self.battery_size = battery_size def describe_battery(self):
"""打印一天描述电瓶容量的消息"""
print("This car has a " +str(self.battery_size) + "-kwh battery.") def get_range(self):
if self.battery_size == :
range =
elif self.battery_size == :
range = message = "This car can go approximately " + str(range)
message +=" miles on a full charge"
print(message) class ElectricCar(Car):
"""电动汽车的独特之处""" def __init__(self, make, model,year):
"""初始化父类的属性"""
super().__init__(make,model,year)
self.battery = Battery() my_tesla = ElectricCar('tesla','model s',)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
my_tesla.battery.get_range()
python入门-类(一)的更多相关文章
- python入门-类(二)
1 关于类的导入 可以把类封装到1个文件中 1个文件中也可以封装多个类 在导入的时候可以导入单个,也可以导入多个类,也可以全部导入类 car.py """一个可以用于表示 ...
- Python入门-类的成员
昨天我们简单的认识了一下面向对象,以及和面向过程之间的区别,从而我们知道了类这个东西,今天我们就来详细的了解一下关于类的一些东西. 一.类的成员 首先, 什么是类的成员,很简单, 你能在类中写什么? ...
- python入门 类的继承和聚合(五)
继承 class Rocket: def __init__(self, name, distance): self.name = name self.distance = distance def l ...
- python入门学习:8.类
python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类 面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...
- Python 入门 之 类成员
Python 入门 之 类成员 1.类的私有成员: 私有: 只能自己拥有 以 __ 开头就是私有内容 对于每一个类的成员而言都有两种形式: - 公有成员,在任何地方都能访问 - 私有成员,只有在类的内 ...
- Python 入门 之 类的约束以及super()剖析
Python 入门 之 类的约束以及super()剖析 1.类的约束 第一版: class WechatPay: def pay(self): print("微信支付") clas ...
- Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系)
Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系) 在面向对象的中,类与类之间存在三种关系:依赖关系.组合关系.继承关系. 1.依赖关系:将一个类的类名或对象当做参数传递给另一个函数被 ...
- Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- Python基本语法,python入门到精通[二]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...
随机推荐
- XML教程、语法手册、数据读取方式大全
XML简单易懂教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 XML --数据格式的写法 二 Re ...
- Unity 3D游戏-见缝插针源码
Unity见缝插针功能实现 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Sphere Rotatio ...
- Linux系统部署应用ECShop
- ssh-add时候提示Could not open a connection to your authentication agent
先执行下ssh-agent bash
- poj2387 最短路
题意:给出一堆双向路,求从N点到1点的最短路径,最裸的最短路径,建完边之后直接跑dij或者spfa就行 dij: #include<stdio.h> #include<string. ...
- 【HAOI2008】玩具命名
水题大失败 原题: 某人有一套玩具,并想法给玩具命名.首先他选择WING四个字母中的任意一个字母作为玩具的基本名字.然后他会根据自己的喜好,将名字中任意一个字母用“WING”中任意两个字母代替,使得自 ...
- MySQL命令行--导入导出数据库
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Se ...
- 使用python把html网页转成pdf文件
我们看到一些比较写的比较好文章或者博客的时候,想保存下来到本地当一个pdf文件,当做自己的知识储备,以后即使这个博客或者文章的连接不存在了,或者被删掉,咱们自己也还有. 当然咱们作为一个coder,这 ...
- Nginx+redis部署tomcat集群
一.部署环境: 两个tomcat实例部署在Ubuntu 14上,IP地址分别为192.168.1.110和192.168.1.111,Nginx和redis部署在windows7上,IP地址为192. ...
- 可靠的推送IM消息
一. 报文类型: 1.请求报文(request,后简称为为R): 2.应答报文(acknowledge,后简称为A): 3.通知报文(notify,后简称为N). R:客户端主动发送给服务器 ...