本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-12(13)

2021-01(38)

类的基础介绍

发布于2019-08-06 10:35     阅读(166)     评论(0)     点赞(1)     收藏(3)



知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

文章目录


#1、类名:
命名规则:大驼峰
两种类:
经典类

class 类名:
	方法列表

** 新式类:**

class 类名(object):
	方法列表

#2、属性:

对象直接添加属性:

# 定义类
class Cat(object):
	def soud(self):
		print ("喵~~~~")

# 创建一个对象,并用变量cat1来保存它的引用
cat1 = Cat()
# 给这个对象添加属性
cat1.color = '白色'
cat1.foot_num = 4
# 猫的行为
cat1.soud()  #喵~~~~
print cat1.color   #白色

__init__设置属性: 创建对象后,python解释器默认调用__init__()方法;

class 类名(object):
	def __init__(self):
		# 各个属性
		self.属性名 = 属性值
  • init(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么除了self作为第一个形参外还需要2个形参
  • init(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
  • 理解self:就是du对象本身。----某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可
    python的魔法方法:方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法;
    当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据

保护对象的属性-----避免非法设置属性值
如果有一个对象,当需要对其进行修改属性时,有2种方法

  • 对象名.属性名 = 数据 ---->直接修改
  • 对象名.方法名() ---->间接修改
class Cat:
	def __init__(self,name):
		self.name = name
		self.age = 1

cat2 = Cat('小阿布')
# 修改属性
cat2.age = -2  # 这明显是不符合规则的

为了更好的保存属性安全,即不能随意修改,一般的处理方式为

  • 将属性定义为私有属性self.__name = name
  • 添加一个可以调用的方法,供调用
class Cat:
	def __init__(self,name):
		self.name = name
	
	def set_age(self, new_age):
		if age > 0 and age < 50:
			self.age = new_age
		else:
			self.age = 0

	def get_age(self):
		return self.age
# 创建对象
cat2 = Cat('小怂')
cat2.set_age(-10)
print cat2.get_age()   # 0

cat2.set_age(5)
print cat2.get_age()   # 5

** 如果在属性名前面加了2个下划线’__’,则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。**

#3、方法:def 方法名(self,args,…):

私有化方法__方法名(self,args,kwrg): 不能直接被调用,可用:对象._类名__方法名(参数) 进行调用

应用: 实际工作中,有时候需要调用一些需要经过验证的接口

这里写图片描述

还有一些高级点的方法在下一章介绍







所属网站分类: 技术文章 > 博客

作者:ereryu8787

链接:https://www.pythonheidong.com/blog/article/7767/6758d9b40c400ed0063f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)