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 ...
随机推荐
- Redis源码解析:22sentinel(三)客观下线以及故障转移之选举领导节点
八:判断实例是否客观下线 当前哨兵一旦监测到某个主节点实例主观下线之后,就会向其他哨兵发送"is-master-down-by-addr"命令,询问其他哨兵是否也认为该主节点主观下 ...
- 探索云网络技术前沿,Sigcomm 2019 阿里云参会分享
Sigcomm 2019简介 一年一度的网络顶级学术峰会Sigcomm于8月20日至22日在北京举行.作为ACM Special Interest Group on Data Communicatio ...
- 前端插件--fastclick解决点透问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- git学习记录——分支管理和多人协作
在公司里难免会出现多个人一起工作,这就需要构建多个分支派发给多个人去干活 这就产生一个需求,分支管理 分支的创建,合并和删除 其他版本控制系统如SVN等都有分支管理,但是用过之后你会发现,这些版本控制 ...
- linux把普通用户添加到sudo组
一.linux下把普通用户添加到sudo组的方式: 1. root权限下, 先cd到/etc目录下 2. 由于sudoers文件为只读权限,所以需要添加写入权限,chmod u+w sudoers 3 ...
- html文件中script标签放在哪里?
- Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persistence provider for EntityManager named null
swing Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Pe ...
- Eviews9.0---软件安装
EViews是Econometrics Views的缩写,直译为计量经济学观察,通常称为计量经济学软件包.它的本意是对社会经济关系与经济活动的数量规律,采用计量经济学方法与技术进行“观察”.计量经济学 ...
- 计蒜客 Flashing Fluorescents(状压DP)
You have nn lights, each with its own button, in a line. Pressing a light’s button will toggle that ...
- Android的ADB学习笔记
1.ADB的常用命令 Pull命令:adb -e|-d pull {文件的路径} {获取文件路径} 2. 文件操作的基本命令 ls -al:显示当下目录下用户对文件的操作权限. = la -al ...