Python入门(05) -- 类
一、创建和使用类
1.创建Person类
class Person():def __init__(self, name, age):self.name = nameself.age = agedef work(self):print(self.name.title() + ' is working now!')def study(self):print(self.name.title() + " is going to study!")
2.实例化一个类
person1 = Person('zhang', 12)
1)访问属性
print("Name:\t" + person1.name)print("Age:\t" + str(person1.age))
打印结果:
Name: zhangAge: 12
2)调用方法
person1 = Person('zhang', 12)person1.work()person1.study()
打印结果:
Zhang is working now!Zhang is going to study!
###二、使用类和实例
1 Person类
class Person():def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = agedef get_person_information(self):full_name = self.first_name.title() + ' ' + self.last_name.title() + " years old!"return msg
# 实例化一个Person类
per = Person('kris', 'wang', 24)
print(per.get_person_information())
打印结果:
Kris Wang is 24 years old!
2 给属性指定默认值
class Person():def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = ageself.middle_name = 'real'def get_person_information(self):full_name = self.first_name.title() + ' ' + self.last_name.title()msg = full_name + " is " + str(self.age) + " years old!"return msgdef get_person_full_name(self):print(self.first_name.title() + ' ' + self.middle_name.title() + ' ' + self.last_name.title())per = Person('kris', 'wang', 24)print(per.get_person_information())per.get_person_full_name()
打印结果:
Kris Wang is 24 years old!Kris Real Wang
3 修改属性的值
1) 通过直接赋值进行修改
per = Person('kris', 'wang', 24)per.get_person_full_name()per.middle_name = 'zhen'per.get_person_full_name()
打印结果:
Kris Real WangKris Zhen Wang
2) 通过方法进行修改
class Person():def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = ageself.middle_name = 'real'def get_person_information(self):full_name = self.first_name.title() + ' ' + self.last_name.title()msg = full_name + " is " + str(self.age) + " years old!"return msgdef get_person_full_name(self):print(self.first_name.title() + ' ' + self.middle_name.title() + ' ' + self.last_name.title())def update_middle_name(self, new_middle_name):self.middle_name = new_middle_nameper = Person('kris', 'wang', 24)per.get_person_full_name()per.update_middle_name('zhen')per.get_person_full_name()
打印结果:
Kris Real WangKris Zhen Wang
三、继承
1 子类的方法_init_()
创建子类的实例时, Python首先需要完成的任务是通过方法init()给父类的所有属性赋值。
class Car():def __init__(self, make, model, year):self.make = makeself.model = modelself.year = yearself.odometer_reading = 0def get_descriptive_name(self):long_name = str(self.year) + " " + self.make + " " + self.modelreturn long_name.title()class ElectricCar(Car):def __init__(self, make, model, year):super().__init__(make, model, year)my_car = ElectricCar("Teslar", "model s", 2016)print(my_car.get_descriptive_name())
打印结果:
2016 Teslar Model S
2 给子类定义属性和方法
让一个类继承另一个类后, 可添加区分子类和父类所需的新属性和方法。
class Car():def __init__(self, make, model, year):self.make = makeself.model = modelself.year = yearself.odometer_reading = 0def get_descriptive_name(self):long_name = str(self.year) + " " + self.make + " " + self.modelreturn long_name.title()class ElectricCar(Car):# 电动汽车的独特之处# 初始化父类的属性, 再初始化电动汽车特有的属性def __init__(self, make, model, year):super().__init__(make, model, year)# 此处添加的为子类自己的属性self.battery_size = 70# 此处添加的为子类自己的方法def describe_battery(self):print("This car has a " + str(self.battery_size) + "-kWh battery")my_car = ElectricCar("Teslar", "model s", 2016)print(my_car.get_descriptive_name())my_car.describe_battery()
打印结果:
2016 Teslar Model SThis car has a 70-kWh battery
Python入门(05) -- 类相关推荐
- python入门笔记——类和对象⑤(继承)
python入门笔记--类和对象⑤(继承) # python中展现面向对象的三大特征:封装.继承.多态 # 封装:把内容封装到某个地方以便后续的使用 # 对封装来说,其实就是使用初始化构造方法将内容封 ...
- 深度之眼课程打卡-python入门05
目录 文章目录 目录 前言 内容 一.数据结构介绍 1.Series的创建 2.DataFrame的创建 二.数据索引index 1.通过索引值或索引标签获取数据 2.自动化对齐 三.利用pandas ...
- python入门——P39类和对象:拾遗
组合 组合就是把旧类实例化放到新类里面进行调用,代码如下 class Chairs():def __init__(self,x):self.num = xclass Glasses():def __i ...
- python入门——P37类和对象:面向对象编程
self是什么 class相当于房子图纸,每个对象是参照图纸建立的实际的房子,self相当于每一栋房子的门牌号,在下面这段代码里,每个对象都是调用了自己那栋房子里的方法,就是因为self tips:在 ...
- Python入门--创建类的对象
class Student:native_pace = '山东' # 直接写在类里的变量称为类属性# 初始化方法def __init__(self, name, age):self.na = name ...
- Python入门数学类编程-----基础数学运算
基本数学运算 直接运用+.-./.*.//(返回结果为整数) 不同类型的数字 >>> type(1.4781290) <class 'float'> >>&g ...
- python入门——P40类和对象:一些相关的BIF
一些相关的BUF issubclass(class, classinfo) class是classinfo的子类则返回true 1.一个类会被认为是自身的子类 2.classinfo可以是类对象组成的 ...
- python入门——P36类和对象:给大家介绍对象
介绍对象 下面展示一些python3创建类,类的属性.方法,以及调用的代码,这里还用到了多态,对象fighter和defender都调用了相同名字的方法,但却实现的是不同的功能 tips:类的定义首字 ...
- python画笔速度调为最高_【python入门系类课程 第三课 神奇的画笔】
前言 本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑.如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过. 程序 ...
- ILRuntime入门05 类继承
使用流程 我们可能需要热更工程去继承Unity工程中的类,那么我们就需要为其写一个适配器,具体流程如下: 新建Unity工程父类 public abstract class TestClassBase ...
最新文章
- 机械转嵌入式还是it?学嵌入式好还是java好?
- Swagger2异常:Illegal DefaultValue null for parameter type integer java
- android jdbc 连接mysql数据库,android怎么用JDBC方法连接mysql数据库
- Linux 开机报 or type Control-D to continue
- Android编程之如何取得View的当前位置
- 卡夫卡(kafka)详解
- 我们短暂的人类世和即将到来的算法世
- 常见单位换算[时间,距离,热量...]
- 2018年新媒体趋势解读:大航海时代结束,圈地运营开始
- 苹果手机升级13无法开机_苹果11更新ios13.7卡在开机页面
- 有关系统DLL文件大全
- 通过百度地图API获取用户所在地理位置信息
- globalmapper如何选取图像上的点_图像去雾的算法历史与综述
- 【Unity3d】使用摄像机制作实时显示小地图
- photoshopcs6安装包
- 关于Latex中生僻字显示问题
- matlab 概率生成函数 求概率,已知某概率密度函数,如何产生一服从该分布的随机数...
- 将博客搬至CSDN_李孟_新浪博客
- IEC101测试工具
- 基于IndRNN的微博短文本情感分析设计与实现
热门文章
- Oracle 给字符串补空格、补0
- 使用Javascript 实现类
- Samsung Galaxy S III GT-I9300详细刷机教程
- 学学Nhibernate
- k层交叉检验(k-flod cross-validation)
- 如何确定图片名未改变 php,这里未改变的是数据库中默认的数据,比如修改时间?,还有发布用户名?...
- java框架ssh实验报告_基于SSH的实验报告提交系统
- R7-1 新世界 (5 分)
- matlab gui 二阶系统,实验二 二阶系统matlab仿真(dg).doc
- js 中meta 移除head_JS函数和winform函数之间的相互调用