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的基本语法.现 ...
随机推荐
- POI的简单使用
一:简介 利用POI工具可以导出word,excel,ppt等office文件 二:程序代码示例 package com.wang.test; import java.io.File; import ...
- hdu1176 dp
题意:在一条 0 ~ 10 的坐标轴上,在整数点上会掉烙饼,一个人第 0 秒站在坐标 5 处,每秒他能够左右移动一个单位的坐标或不移动,并接住该坐标位置当前时间落下的烙饼,(例如第0秒他在坐标5处,第 ...
- vector容器的用法以及动态数组
vector容器不必去管大小 string申明的数组已经是动态的了 若是int类型的话,需要 cin>>N: int a[N]会出错 ,必须是int *p = new int[N] 然后再 ...
- 未能正确加载“VSTS for Database Professionals Sql Server Data-tier Application”包。(转)
今天费了九牛二虎之力,重转好了vs2010之后,打开解决方案,报出下面的错误: ---------------------------Microsoft Visual Studio---------- ...
- Python+VSCode+Git 学习总结
稍等,先写个脑图... 继续,读完本文,你会学会: 1.如何在VSCode中写Python代码: 2.如何在VSCode中使用Git: 为什么写这篇总结 首先,我假设你是一名Python语言初学者,你 ...
- 如何使用Django 启动命令行及执行脚本
使用django启动命令行和脚本,可以方便的使用django框架做开发,例如,数据库的操作等. 下面分别介绍使用方法. django shell的启动 启动命令: $/data/python-virt ...
- 使用Angular提交表单
使用Angular提交表单 我们准备在之前使用的<script>标签中设置我们的Angular应用.所以删除里面的内容,我们就可以开始了. 设置一个Angular应用 步骤为: 1. 加载 ...
- 更新上篇文章 调用三级目录文章内容 dede频道页实现三级栏目嵌套调用文章
原文:http://www.wuaie.com/?p=66 源码改写 $typeid = $row['id']; if((class_exists('PartView'))) { $pv = new ...
- Linux基本操作命令及作用
文件和目录操作命令 命令 作用 cd change directory,切换目录 cp copy,其功能为复制文件或目录 find 用于查找目录或文件 mv move ,移动或重命名文件或目录 pwd ...
- C# 正则表达式入门
转自:http://www.cnblogs.com/KissKnife/archive/2008/03/23/1118423.html 另外推荐一篇学正则表达式的文章:http://www.unibe ...