今日主要学习了:

1 .成员

2. 变量

3. 方法

4.属性

5.私有

1. 成员 在类中你能写的所有内容都是成员

2 .变量

1) 实例变量: 昨天写的就是实例变量 ,由对象去访问的变量 .

class Person: #创建一个人的类
def __init__(self,name,id,gender,birth): # 创建初始化方法,创建方法
self.name=name #定义属性
self.id=id
self.gender=gender
self.birth=birth
p=Person('alex','110','男','1989-12-12') #创建了一个人
p.birth='1999-1-1' #修改alex的出生年月
print('p.birth')  

2) 类变量 , 此时这个变量属于类, 但是对象也可以访问

class Person:
def __init__(self,name,gender):
self.name=name
self.gender=gender
p=Person('alex','男')
p2=Person('wusir','女)
p.country='中国' # 这里是在p这个人内部创建了一个country,并不是在外面
print('p.country')#打印结果为中国
Person.country='大清' # 这里是在Person中创建的国家,所以你每创建一个新的对象,他默认的country都是大清
print(p2.country) #这里的打印结果是大清 类变量可以给对象使用

3 .方法

1) 类方法 (默认在形参位置的参数是cls,并且加一个@classmethod)

类方法一般用类名去访问 Person.he() #类方法

def chi(self):
print('人会吃')
@classmethod#装饰器 ,此时这个方法是一个类方法
def he(cls): #此时接收到的cls是类名
print('人会喝')

2) 实例方法 : 昨天学的就是实例方法

3)静态方法 (@staticmethod)

@staticmethod #静态方法
def yue():
print('今天约吗,小姐姐')

静态方法可以使用对象访问.也可以使用类名访问.

但是一般推荐使用类名访问

P=person()  

P.yue()

4. 属性

#假设我们要或取每一个人的实际年龄
class Person:
def __init__(self,name ,birth):
self.name=name
self.birth=birth
# 年龄应该是算出来的,而不是直接储存 ,如果有14亿人,每年都要更新一次,耗时耗力很大
@property #将一个方法变更成一个属性,每次哪的属性的时候就会自动的去执行这个方法 ,#方法的返回值就是属性值
def age(self):
return 2018-self.birth
p1 = Person("武sir", "未知", 2000)
print(p1.age) # 看着像一个变量一样使用, 实际上这里是调用的一个方法
print(p1.age)
# p1.age = 26 # 不可以的, 因为age是一个方法. 不是一个变量

5 .私有(__XX就是私有)

class Person:
  __qie='金莲' 
  def __init__(self,name,mimi):     self.name=name
    self.mimi=mimi
def gaosu(self):   print(f"把秘密告诉了太白, 第二天所有人都知道了{self.__mimi}")

私有一般是在前面加'__'就表示是私有的,用途一般是保护你不想让别人看到的东西,(例如:登录的用户名和密码,你怕忘记,可以写成是私有的)

day17 面向对象-成员的更多相关文章

  1. Python基础面向对象成员

    面向对象中成员 字段: 静态字段保存在类中:静态字段在代码加载时被创建 普通字段保存在对象中: 规则: 普通字段只能用对象访问: 静态字段用类去访问(万不得已的时候可以使用对象访问) #!/usr/b ...

  2. C#面向对象——成员变量及封装

    namespace 面向对象5_22 { class Animal { private string _Type; public string Type { get { return _Type; } ...

  3. python --- 17. 面向对象成员

    面向对象的成员 能写的所有成员 一.变量 1.实例变量 访问时      对象.变量 2.类变量 访问时     类名.变量 注意: 二.方法 1.实例方法 必须有一个参数(self) 调用时    ...

  4. Python【day 17-2】面向对象-成员

    '''''' ''' 1.简述面向对象三大特性并用示例解释说明?[背写] 1.封装 狭义的封装:把一组属性封装到一个对象,创建对象的时候 广义的封装:代码块,函数.对象.类.模块-py文件都是封装 把 ...

  5. java面向对象---成员变量和成员函数

    //成员变量 1.类定义了对象中所具有的变量,这些变量称作成员变量 2.每个对象都有自己的变量,和同一个类的其他对象的分开的 //函数与成员变量 1.在函数中可以直接写成员变量的名字来访问成员变量,那 ...

  6. python之路--面向对象-成员

    一 . 成员 在类中你能写的所有内容都是类的成员 class 类名: # 方法 def__init__(self, 参数1, 参数2...): # 属性变量 self.属性1 = 参数1 self.属 ...

  7. python -- 面向对象-成员

    1.成员       在类中,你能写的所有内容都是类的成员   2.变量          1.实例变量:由对象去访问的变量,一般使用是  对象 . 属性 class Person: def __in ...

  8. python学习 day016打卡 面向对象--成员

    本节主要内容: 1.类的成员 2.类的成员-变量 3.类的成员-方法 4.类的成员-属性 5.私有 一.类的成员: 能在类中写的内容就是类的成员. class 类名: #方法 def __init__ ...

  9. day 0150面向对象-成员

    一 类的成员 在类中定义的变量和方法都被称为成员 class Person: def __init__(self, name, num, gender, birthday): # 成员变量(实例变量) ...

随机推荐

  1. nRF52832-PPI部分学习

    PPI部分学习思维导图 PPI原理 1.1PPI简介 PPI实现的就是通过初始化配置,将不同外设的事件和任务连接起来,让事件自动去触发任务的功能,PPI有多个通道, 每个通道包含一个EEP和TEP,使 ...

  2. Day2-异步IO+Scrapy爬虫

    一.异步IO http://www.cnblogs.com/wupeiqi/articles/6229292.html 这篇文章写的不错,展示了多种高并发的方式,从同步执行→多线程→多进程→async ...

  3. 百度Apollo学习(一)

    产品介绍 Nuvo-5095GC为工业电脑打开了新的篇章.作为首款面向CUDA计算.自动驾驶.深度学习及虚拟现实等新兴领域的嵌入式工控机,Nuvo-5095GC是一个高度集成.体积紧凑.稳定可靠的高性 ...

  4. TCHART FROM DATATABLE

    using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System. ...

  5. 质控工具之TrimGalore使用方法

    TrimGalore 就是一个简单的perl wrapper,打包了fastqc和cutadapt,但是却非常实用. 因为cutadapt的参数选择实在是有够复杂,光接头类型就有5种,还有各种参数,大 ...

  6. 20165327 预备作业3 Linux安装及学习

    20165327 预备作业3 Linux安装及学习 一.学习基于VirtualBox虚拟机安装Ubuntu图文教程,在自己笔记本上安装Linux操作系统,注意尽量选用最新版本的VirtualBox和U ...

  7. English Voice of << Count on me >>

    Count On Me 歌手:Bruno Mars 所属专辑:It´s Better If You Don´t Understand If you ever find yourself stuck i ...

  8. ionic this.navCtrl.push()和this.navCtrl.pop()

    在ionic中,this.navCtrl.push()和this.navCtrl.pop()都是进行页面跳转,但是用法又有区别 例如有A  B  C三个页面,三个页面都是使用this.navCtrl. ...

  9. 20165309 技能学习经验与C语言

    技能学习经验与C语言 技能学习经验 你有什么技能比大多人(超过90%以上)更好?针对这个技能的获取你有什么成功的经验?与老师博客中的学习经验有什么共通之处? 从小到大,或是出于兴趣.或是出于父母的要求 ...

  10. python记录_day06

    一.小数据池 注意大前提!!!! 小数据池只针对整数.字符串和bool值,因为这些数据是不可变的,这样数据的共享才安全 小数据池也称为小整数缓存机制或驻留机制,是指在不同代码块创建部分小数据对象(具体 ...