一.成员

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 成员的更多相关文章

  1. Python成员运算符

    Python成员运算符 其他语言没有,是否包含运算符,主要应用在字符串或者集合中 测试实例中包含了一系列的成员,包括字符串,列表或元组. #使用场景01:字符串是否包含另外一个字符串? str01 = ...

  2. 由 '' in 'abc' return True 引发的思考----Python 成员测试操作

    最近遇到判断字典中是否存在空字符串‘’,这个很好判断,直接用:‘’ in ['a','b','c'],就可以直接判断出来:但是当我对字符串使用 “in” 方法进行判断的时候,发现:‘’ in ‘abc ...

  3. Python成员运算,身份运算和流程控制

    成员运算 in #判断--在--里面 print('a' in 'abcd') # 字符串判断a是否在abcd里面 print('you' in 'how are you') # 这种整体也可以判断 ...

  4. Python——成员变量

    一.类变量 在类命名空间内定义的变量就属于类变量,python允许使用类来修改.读取类变量. 例: class a: b = '我是类变量' def c(self): print (a.b) # 通过 ...

  5. python - 类成员修饰符

    在java,c#类的成员修饰符包括,公有.私有.程序集可用的.受保护的. 对于python来说,只有两个成员修饰符:公有成员,私有成员 成员修饰符是来修饰谁呢?当然是修饰成员了.那么python类的成 ...

  6. Python学习:17.Python面向对象(四、属性(特性),成员修饰符,类的特殊成员)

    一.属性(特性) 普通方法去执行的时候,后面需要加括号,特性方法执行的时候和静态字段一样不需要不需要加括号. 特性方法不和字段同名. 特性方法不能传参数. 在我们定义数据库字段类的时候,往往需要对其中 ...

  7. python基础之运算符

    算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复 ...

  8. Python 面向对象 中高级

    类成员: #字段 普通字段 属于对象 执行只能通过对象访问 静态字段 属于类 执行 既可以通过对象访问,也可以通过类访问 class Foo: def __init__(self,name): # 字 ...

  9. Python全栈开发day9

    一.面向对象进阶 1.利用python反射查看面向对象成员 对于对象:反射既可以找对象,类的成员 对于类:反射只能找类中的成员 2.利用反射操作模块(查找类,创建对象,查找对象中字段) 1 2 3 4 ...

随机推荐

  1. poj1961

    poj1961主要是考察对next数组的理解,abaabaabaaba abaabaabaabaabaaba错开的部分便是循环节 7月29日更 如果n%(n-kmp[k])==0,那么n-kmp[k] ...

  2. Redis源码解析:21sentinel(二)定期发送消息、检测主观下线

    六:定时发送消息 哨兵每隔一段时间,会向其所监控的所有实例发送一些命令,用于获取这些实例的状态.这些命令包括:"PING"."INFO"和"PUBLI ...

  3. CF549G Happy Line

    传送门 解题思路 题意大概就是给你个数列,你可以随意交换i,i+1,交换后位于第i+1位的数字+1,位于第i位的数字-1,问最终能否形成一个不下降序列并输出.设初始数列中两个位置x,y最终交换后的位置 ...

  4. npm常用命令及版本号

    npm 包管理器的常用命令 测试环境为node>=8.1.3&&npm>=5.0.3 1, 首先是安装命令 //全局安装 npm install 模块名 -g //本地安装 ...

  5. 论ul、ol和dl的区别

    1.ul是无序列表,也就是说没有排列限制可以随意加li: <ul> <li>可以随意放置</li> <li>可以随意放置</li> < ...

  6. 常用命令5--文件搜索命令3-find

    发现没有出来install.log.syslog ,find不能进行模糊搜索.要想模糊搜索,必须用通配符. 没有所有者的文件是垃圾文件.但是内核产生文件,在这两个文件夹里文件有可能没有所有者,很正常, ...

  7. NOIP模拟题17.9.26

    B 君的任务(task)[题目描述]与君初相识,犹如故人归.B 君看到了Z 君的第一题,觉得很难.于是自己出了一个简单题.你需要完成n 个任务,第i 任务有2 个属性ai; bi.其中ai 是完成这个 ...

  8. Python判断文件和文件夹是否存在的方法

    Python判断文件和文件夹是否存在的方法 这篇文章主要介绍了Python判断文件和文件夹是否存在的方法,本文还讲解了判断是否为文件或者目录的方法.os.path.lexist的作用.FTP中判断文件 ...

  9. 媒体查询(media):设置PC端网页居中显示

    @media screen and (min-width: 768px){ body{ background-color: #EAEAEA; } #fater{ width: 640px; margi ...

  10. 前端框架中 “类mixin” 模式的思考

    "类 mixin" 指的是 Vue 中的 mixin,Regular 中的 implement 使用 Mixin 的目的 首先我们需要知道为什么会有 mixin 的存在? 为了扩展 ...