类中的函数称为方法

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编程 从入门到实践 第九章 类(上)相关推荐

  1. python编程从入门到实践第九章——类

    相关文章链接: python编程从入门到实践第二章--变量和简单数据类型 python编程从入门到实践第三章--列表简介 python编程从入门到实践第四章--操作列表 python编程从入门到实践第 ...

  2. python编程 从入门到实践 第九章 类(下)

    继承 一个类继承另一个类时,将自动获得另一个类的所有属性和方法,原有的类称为父类,而新的类称为子类 class Car:def __init__(self,make,model,year):self. ...

  3. python编程从入门到实践django-第18章 Django入门 P371

    声音简介-感谢粉丝NN娜娜小天使的打赏,此音频即日起以24小时/天,1次/小时的速度更新,直至完结~ 特别说明: 此音频仅作为更好地阅读此书的辅助工具,请大家购买正版书籍. 所有音频全部免费供大家试听 ...

  4. 学习笔记 | Python编程从入门到实践 | 第二章变量和简单数据类型

    前言 小白记录自己学习python的学习贴,如有错误请大佬指正 第二章是变量和简单数据类型的学习. 关于变量 在程序中随时可以修改变量的值,python将始终记录变量的最新值 变量名只能包含字母.数字 ...

  5. Python编程:从入门到实践-第二章:变量和简单数据(语法)

    #2-1 简单消息:将一条消息存储到变量中,再将其打印出来. bian='Hello Python' print(bian) #2-2 多条简单消息:将一条消息存储到变量中,将其打印出来:再将变量的值 ...

  6. python编程从入门到实践17章使用API;17.3Hacker News API的调用

    https://hacker-news.firebaseio.com/v0/topstories.json,但是我打不开,要翻墙吗.抄的程序 import requests from operator ...

  7. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  8. 《Python编程从入门到实践》记录之第2章 变量和简单数据类型总结(思维导图)

    <Python编程从入门到实践>第2章变量和简单数据类型知识总结:

  9. Python编程从入门到实践第五章部分习题

    Python编程从入门到实践第五章部分习题 5-8 5-9` names = ['admin','zhang','li','zhao','song'] for name in names:if nam ...

最新文章

  1. block 实现原理详解(一)
  2. 彻底解决springboot修改页面和代码会自动重启
  3. redis数据库无法写入导致的bug
  4. 目标追踪论文之狼吞虎咽(2):在线被动攻击学习
  5. 基于python的贪吃蛇游戏设计与实现
  6. 机器视觉中偏振片的应用
  7. 读书印记 - 《南北战争三百年》
  8. 【FXCG】多头陷阱知多少
  9. Android 实现搜索历史(1)
  10. uboot源码中start.S里中断向量表中不直接LDR   PC ,异常地址,而是使用一个标号
  11. python-编程训练题
  12. C语言----隐藏代码文件
  13. 登录OneDrive
  14. Error:Cannot build artifact because it is included into a circuladependency
  15. vue+axios 实现Excel下载
  16. (SubMenu)选项菜单和子菜单应用
  17. 对比欧氏距离与余弦相似度
  18. 4款黑科技级别的宝藏APP,轻松满足你的多种需求,请低调收藏
  19. matlab threshold算法_控制与应用技术|基于模糊滑模算法的永磁同步电机无位置传感器矢量控制...
  20. 安装Seurat内置数据集ifnb.SeuratData的方法(Linux上安装)

热门文章

  1. 普元EOS开发学习(一)
  2. 回归预测 | MATLAB实现DBN多层深度置信网络多输入单输出回归预测
  3. 雨水情监测及视频监控解决方案 水库雨水情自动测报系统 介绍 功能 特点
  4. solaris系统自启动文件设置
  5. 信息学奥赛一本通答案dj打印ASCII码1020
  6. CMutex使用时的注意事项,以及CMutex::Unlock何时会返回0
  7. H3C交换机配置本地dot1x认证举例
  8. Hive在SQL标准权限模式下创建UDF失败的问题排查
  9. 《IDEA Plugin 开发手册》• 小傅哥.pdf | 4章12节,完稿发版
  10. 163VIP邮箱发邮件,163VIP邮箱年费多少,163邮箱手机端在哪?