python编程 从入门到实践 第九章 类(上)
类中的函数称为方法
class Dog:def __init__(self,name,age):"""初始化name和age"""self.name=nameself.age=agedef sit(self):print(f"{self.name}is now sitting")def roll_over(self):print(f"{self.name} rolled over!")my_dog=Dog('欢欢',6)
print(f"my dog`s name is {my_dog.name}.")
print(f"my dog is {my_dog.age} years old.")
my_dog.sit()
my_dog.roll_over()"""
my dog`s name is 欢欢.
my dog is 6 years old.
欢欢is now sitting
欢欢 rolled over!
"""
形参self必不可少,而且必须位于其他形参前面,必须定义形参self的原因是:python在调用这个方法创建Dog实例时,将自动传入实参self,每个与实例相关的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问到类中的属性和方法。
通过实例访问的变量称为属性
练习9-1,9-2
class Restaurant(object):"""docstring for Restaurant"""def __init__(self, restaurant_name,cuisine_type):self.restaurant_name=restaurant_nameself.cuisine_type=cuisine_typedef describe_restaurant(self):print(f"名字是:{self.restaurant_name},烹饪风味是{self.cuisine_type}")def open_restaurant(self):print(f"{self.restaurant_name}餐厅正在营业")the_restaurant=Restaurant('十里八湘','川菜馆')
print(f"这个店的名字是{the_restaurant.restaurant_name}")
print(f"这个店的口味类型是{the_restaurant.cuisine_type}")
the_restaurant.describe_restaurant()
the_restaurant.open_restaurant()"""
这个店的名字是十里八湘
这个店的口味类型是川菜馆
名字是:十里八湘,烹饪风味是川菜馆
十里八湘餐厅正在营业
"""
练习9-3
class User:def __init__(self,first_name,last_name,gender):self.first_name=first_nameself.last_name=last_nameself.gender=genderdef describe_user(self):print(f"姓:{self.first_name},名:{self.last_name},性别:{self.gender}")def greet_user(self):print(f"欢迎{self.first_name}{self.last_name}{self.gender}士!!!")user1=User('王','大攀','男')
user2=User('李','俊俊','女')
user1.describe_user()
user1.greet_user()
user2.describe_user()
user2.greet_user()"""
姓:王,名:大攀,性别:男
欢迎王大攀男士!!!
姓:李,名:俊俊,性别:女
欢迎李俊俊女士!!!
"""
给属性指定默认值,修改属性的值
练习9-4
class Restaurant(object):"""docstring for Restaurant"""def __init__(self, restaurant_name,cuisine_type):self.restaurant_name=restaurant_nameself.cuisine_type=cuisine_typeself.number_served=0def describe_restaurant(self):print(f"名字是:{self.restaurant_name},烹饪风味是{self.cuisine_type},有{self.number_served}人就餐")def open_restaurant(self):print(f"{self.restaurant_name}餐厅正在营业")def set_number_served(self,number):self.number_served=numberdef increment_number_served(self,inumber):self.number_served+=inumberthe_restaurant=Restaurant('十里八湘','川菜馆')
the_restaurant.set_number_served(16)
the_restaurant.describe_restaurant()
the_restaurant.increment_number_served(10)
the_restaurant.describe_restaurant()#名字是:十里八湘,烹饪风味是川菜馆,有16人就餐
#名字是:十里八湘,烹饪风味是川菜馆,有26人就餐
练习9-5
class User:def __init__(self,first_name,last_name,gender,login_attempts):self.first_name=first_nameself.last_name=last_nameself.gender=genderself.login_attempts=login_attemptsdef describe_user(self):print(f"姓:{self.first_name},名:{self.last_name},性别:{self.gender}")def greet_user(self):print(f"欢迎{self.first_name}{self.last_name}{self.gender}士!!!")def increment_login_attempts(self):self.login_attempts+=1print(f"现有人数{self.login_attempts}")def reset_login_attempts(self):self.login_attempts=0print(f"现有人数{self.login_attempts}")user1=User('王','子','男',1)
user1.describe_user()
user1.increment_login_attempts()
user1.increment_login_attempts()
user1.increment_login_attempts()
user1.reset_login_attempts()
user1.greet_user()"""
姓:王,名:子,性别:男
现有人数2
现有人数3
现有人数4
现有人数0
欢迎王子男士!!!
"""
python编程 从入门到实践 第九章 类(上)相关推荐
- python编程从入门到实践第九章——类
相关文章链接: python编程从入门到实践第二章--变量和简单数据类型 python编程从入门到实践第三章--列表简介 python编程从入门到实践第四章--操作列表 python编程从入门到实践第 ...
- python编程 从入门到实践 第九章 类(下)
继承 一个类继承另一个类时,将自动获得另一个类的所有属性和方法,原有的类称为父类,而新的类称为子类 class Car:def __init__(self,make,model,year):self. ...
- python编程从入门到实践django-第18章 Django入门 P371
声音简介-感谢粉丝NN娜娜小天使的打赏,此音频即日起以24小时/天,1次/小时的速度更新,直至完结~ 特别说明: 此音频仅作为更好地阅读此书的辅助工具,请大家购买正版书籍. 所有音频全部免费供大家试听 ...
- 学习笔记 | Python编程从入门到实践 | 第二章变量和简单数据类型
前言 小白记录自己学习python的学习贴,如有错误请大佬指正 第二章是变量和简单数据类型的学习. 关于变量 在程序中随时可以修改变量的值,python将始终记录变量的最新值 变量名只能包含字母.数字 ...
- Python编程:从入门到实践-第二章:变量和简单数据(语法)
#2-1 简单消息:将一条消息存储到变量中,再将其打印出来. bian='Hello Python' print(bian) #2-2 多条简单消息:将一条消息存储到变量中,将其打印出来:再将变量的值 ...
- python编程从入门到实践17章使用API;17.3Hacker News API的调用
https://hacker-news.firebaseio.com/v0/topstories.json,但是我打不开,要翻墙吗.抄的程序 import requests from operator ...
- python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章
文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...
- 《Python编程从入门到实践》记录之第2章 变量和简单数据类型总结(思维导图)
<Python编程从入门到实践>第2章变量和简单数据类型知识总结:
- Python编程从入门到实践第五章部分习题
Python编程从入门到实践第五章部分习题 5-8 5-9` names = ['admin','zhang','li','zhao','song'] for name in names:if nam ...
最新文章
- block 实现原理详解(一)
- 彻底解决springboot修改页面和代码会自动重启
- redis数据库无法写入导致的bug
- 目标追踪论文之狼吞虎咽(2):在线被动攻击学习
- 基于python的贪吃蛇游戏设计与实现
- 机器视觉中偏振片的应用
- 读书印记 - 《南北战争三百年》
- 【FXCG】多头陷阱知多少
- Android 实现搜索历史(1)
- uboot源码中start.S里中断向量表中不直接LDR PC ,异常地址,而是使用一个标号
- python-编程训练题
- C语言----隐藏代码文件
- 登录OneDrive
- Error:Cannot build artifact because it is included into a circuladependency
- vue+axios 实现Excel下载
- (SubMenu)选项菜单和子菜单应用
- 对比欧氏距离与余弦相似度
- 4款黑科技级别的宝藏APP,轻松满足你的多种需求,请低调收藏
- matlab threshold算法_控制与应用技术|基于模糊滑模算法的永磁同步电机无位置传感器矢量控制...
- 安装Seurat内置数据集ifnb.SeuratData的方法(Linux上安装)
热门文章
- 普元EOS开发学习(一)
- 回归预测 | MATLAB实现DBN多层深度置信网络多输入单输出回归预测
- 雨水情监测及视频监控解决方案 水库雨水情自动测报系统 介绍 功能 特点
- solaris系统自启动文件设置
- 信息学奥赛一本通答案dj打印ASCII码1020
- CMutex使用时的注意事项,以及CMutex::Unlock何时会返回0
- H3C交换机配置本地dot1x认证举例
- Hive在SQL标准权限模式下创建UDF失败的问题排查
- 《IDEA Plugin 开发手册》• 小傅哥.pdf | 4章12节,完稿发版
- 163VIP邮箱发邮件,163VIP邮箱年费多少,163邮箱手机端在哪?