python 成员
一.成员
1.实例变量 对象.属性=xxxx
class Person:
def __init__(self,name,id,gender,birth):
self.name = name
self.id = id
self.gender = gender
self.birth = birth p = Person('哈哈','','不详','1990-12-15')
print(p.birth) #p.birth就是实例变量
2.类变量 最好用类.变量 ,对象.变量也能用
class Person:
country = '大清' 类变量
def __init__(self,name,gender):
self.name = name
self.gender = gender
r = Person('张三','男')
r1 = Person('李四', '女')
print(r.name)
print(r.gender)
print(r.country) 对象.类变量
print(Person.country) 类.类变量
3.实例方法
class Computer:
# 实例方法
def play(self):
print('电脑可以扫雷')
# 在定义实例方法的时候. 必须给出一个参数self
# 形参的第一个参数, 自动的把对象给传递进来
def work(self):
# print(self)
print('电脑用来工作')
c = Computer()
c.work() # 调用的时候不需要手动给出self
4.类方法
class Preson:
# 实例方法
def chi(self):
print('人会吃')
@classmethod # 装饰器. 此时这个方法是一个类方法
def he(cls): # 此时接受到的cls是类名
print('人会喝')
# 用对象访问
p = Preson()
p.he() # 在调用类方法的时候. 默认的把类名传递给类方法
# 类方法一般用类名去访问
Preson.he()
5.静态方法
class Person:
@staticmethod
def yue():
print('看见我就是静态方法')
# 静态方法可以使用对象访问. 也可以使用类名访问. 但是一般推荐使用类名访问
p = Person()
p.yue()
# 推荐使用类名访问
Person.yue()
6.属性
class Preson:
def __init__(self,name,gender,birth):
self.name = name
self.gender = gender
self.birth = birth # 年龄 -> 应该是算出来的. 而不是直接存储的
@property # 把一个方法更改成一个属性, 每次拿属性的时候会自动的去执行这个风法
# 方法的返回值就是属性值
def age(self):
return 2018-self.birth p1 = Preson('wusir','未知',2000)
print(p1.age) # 看着像一个变量一样使用. 实际上这里是调用的一个方法
print(p1.age) # p1.age = 26 # 不可以赋值, 因为age是一个方法不是变量 方法不能进行赋值操作
7.私有
class Person:
_qie = '潘潘' # 类变量
def __init__(self,name,mini):
self.name = name
self._mini =mini # 私有内容 实例变量
def gaosu(self):
print(f"把秘密告诉了太白, 第二天所有人都知道了{self._mini}")
# print(Person.__qie) # 私有的类变量只能在类中调用
def __yue(self): # 私有的实例方法
print('我要和宝宝约')
p = Person('wusir','和嫂子的故事')
# print(p.__mimi) # 私有的内容只能在类里面调用
p.gaosu()
python 成员的更多相关文章
- Python成员运算符
Python成员运算符 其他语言没有,是否包含运算符,主要应用在字符串或者集合中 测试实例中包含了一系列的成员,包括字符串,列表或元组. #使用场景01:字符串是否包含另外一个字符串? str01 = ...
- 由 '' in 'abc' return True 引发的思考----Python 成员测试操作
最近遇到判断字典中是否存在空字符串‘’,这个很好判断,直接用:‘’ in ['a','b','c'],就可以直接判断出来:但是当我对字符串使用 “in” 方法进行判断的时候,发现:‘’ in ‘abc ...
- Python成员运算,身份运算和流程控制
成员运算 in #判断--在--里面 print('a' in 'abcd') # 字符串判断a是否在abcd里面 print('you' in 'how are you') # 这种整体也可以判断 ...
- Python——成员变量
一.类变量 在类命名空间内定义的变量就属于类变量,python允许使用类来修改.读取类变量. 例: class a: b = '我是类变量' def c(self): print (a.b) # 通过 ...
- python - 类成员修饰符
在java,c#类的成员修饰符包括,公有.私有.程序集可用的.受保护的. 对于python来说,只有两个成员修饰符:公有成员,私有成员 成员修饰符是来修饰谁呢?当然是修饰成员了.那么python类的成 ...
- Python学习:17.Python面向对象(四、属性(特性),成员修饰符,类的特殊成员)
一.属性(特性) 普通方法去执行的时候,后面需要加括号,特性方法执行的时候和静态字段一样不需要不需要加括号. 特性方法不和字段同名. 特性方法不能传参数. 在我们定义数据库字段类的时候,往往需要对其中 ...
- python基础之运算符
算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复 ...
- Python 面向对象 中高级
类成员: #字段 普通字段 属于对象 执行只能通过对象访问 静态字段 属于类 执行 既可以通过对象访问,也可以通过类访问 class Foo: def __init__(self,name): # 字 ...
- Python全栈开发day9
一.面向对象进阶 1.利用python反射查看面向对象成员 对于对象:反射既可以找对象,类的成员 对于类:反射只能找类中的成员 2.利用反射操作模块(查找类,创建对象,查找对象中字段) 1 2 3 4 ...
随机推荐
- IDEA javax.servlet.http.HttpServletRequest; 不存在 解决方案
使用idea创建一个web项目,在项目中报HttpServletRequest和HttpServletResponse不存在. 问题原因:idea不会默认引用tomcat的jar包. 解决方法: [注 ...
- [BZOJ2729]排队
数学知识 排列 A(n,m)从n个元素中选出m个的不同的排列数 A(n,m)=n!/(n-m)! 组合 C(n,m)从n个元素中选出m个的不同的方案数 C(n,m)=n!/(m!*(n-m)! ...
- JS简单实现:根据奖品权重计算中奖概率实现抽奖的方法
本文主要介绍:使用 JS 根据奖品权重计算中奖概率实现抽奖的方法. 一.示例场景 1.1.设置抽奖活动的奖项名称 奖项名称:["一等奖", "二等奖", &qu ...
- 适配器模式--在NBA我需要翻译
适配器模式:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们应 ...
- CesiumLab V1.2 新功能 倾斜数据处理
一转眼又是一周的时间,我们的实验室功能又强大了. 照旧我们先放毒,放图,图,太晚了,字都敲不到一起了 lod以及包围盒 大雁塔实例,按楼层单体化 倾斜数据处理参数设置 简单介绍一下 Ces ...
- java开发岗位面试整理
一.Java基础 1. String类为什么是final的 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类. 4. ...
- IE9没有内置鼠标手势,还要自己写
写了个IE插件,然后获取鼠标,信息, 模拟了鼠标手势,在虚拟机里面测试,完全好使,但是现在又不敢在Win7上用了. 愁死了... 为了实现一个鼠标手势. 写的那破玩意,竟然50多K.....太大了.. ...
- Flask – SQLite:增加成员
目录 简介 结构 展示 技术 运行 代码 创建数据库表单 views视图 models模块 home主页 list列表页 result消息结果页 studentst添加成员 简介 结构 $ tree ...
- Laravel 安装mysql、表增加模拟数据、生成控制器
参考中文网教程: 安装mysql.表增加模拟数据 http://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-cheng-yi/ ...
- cmd 运行 python
①cmd 进入行命令: ②输入 “python” + “空格”,即 ”python “:将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可.