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的基本语法.现 ...
随机推荐
- ZOJ 3211dream city dp(效率优化)
Dream City Time Limit: 1 Second Memory Limit:32768 KB JAVAMAN is visiting Dream City and he see ...
- ElasticSearch(六):IK分词器的安装与使用IK分词器创建索引
之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了. 1. i ...
- @ModelAttribute的用法
- encode decode enumerate
format的用法 print(format('aa','>20')) print(format('aa','<20')) print(format('aa','^20')) 打印结果如下 ...
- C# 使用oledb 方式连接本地或者远程oracel 数据库的方式
对于C# 进行oracle 数据库的开发来说使用oracle 提供的odp.net 方式是比较方便的,同时在性能以及兼容性也是比较好的 但是,对于不打算使用的,那么该如何使用oledb 进行连接 连接 ...
- 批处理(bat)命令学习的一些总结
这篇笔记是我对批处理学习的一些总结,能在系统帮助里找到的内容我就不写了,太偏门的也不写,只写些个人感觉很好用的技巧,大部分属于整理 一.set 篇: 1.set(无开关) set .=test set ...
- 日志挖掘(logminer)
转. 如何使用logminer分析Oracle 联机日志 笔者在工作中经常遇到这样的情况:为了追踪数据的变化,需要知道某个表或者表中的某行数据是什么时候被修改的,以及修改前的内容. ...
- golang 如何判断变量的类型
本文介绍两种用于判断变量类型的方式. 方法一 package main import ( "fmt" ) func main() { v1 := "123456" ...
- Django 命令行工具django-admin.py与manage.py
django-admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django Project里面都会包含一个manage ...
- Kibana 基础入门
原文地址:Kibana 基础入门 博客地址:http://www.extlight.com 一.前言 Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作.Kibana ...