IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python编程 从入门到实践 第九章 类(上) -> 正文阅读

[Python知识库]python编程 从入门到实践 第九章 类(上)

类中的函数称为方法

class Dog:
	def __init__(self,name,age):
		"""初始化name和age"""
		self.name=name
		self.age=age
	def 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_name
		self.cuisine_type=cuisine_type
	def 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_name
		self.last_name=last_name
		self.gender=gender
	def 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_name
		self.cuisine_type=cuisine_type
		self.number_served=0
	def 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=number
	def increment_number_served(self,inumber):
		self.number_served+=inumber
 
the_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_name
		self.last_name=last_name
		self.gender=gender
		self.login_attempts=login_attempts
	def 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+=1
		print(f"现有人数{self.login_attempts}")
	def reset_login_attempts(self):
		self.login_attempts=0
		print(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中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:42:32  更:2021-12-02 16:44:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:53:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码