类的定义
    
    共同属性,特征,方法者,可分为一类,并以名命之   class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 )
   cls_name = '这个类的名字是Abc' # 在类里定义的变量 是 属性   print( Abc.cls_name )
  Abc.binbin = '正在25班教室' # 可以通过 类名.属性名 = 属性值 给类添加属性
  print( Abc.binbin )
  ------》》》》》
    这个类的名字是Abc
    正在25班教室   类是一个独立存放 变量(属性),方法 的定单
    其中:
Abc.cls_name 在定义类时已经封装好的属性,
         Abc.binbin = '正在25班教室'   在定义类后,进行属性的添加,封装
     类的实例化,
  obj = Abc()       obj 是 Abc() 实例化 后得到的 实例   本质就是 return 
  print( obj.cls_name )
  print( obj.binbin )
  
  类 与 实例 的关系: 其是一类事物的抽象,不是真实存在的,描绘了该的共性,
  比如:‘人’,‘动物’,‘家具’,某类事物的具体个休,
  是该类事物的具体表现,是真实存在的。
  
  实例也是一个独立存放 变量(属性),方法 的定单
  不同实例间的问个空间不相通,当调用中的属性在实例中找不到时,会去类中寻找,找不到则报错,
  基于类而创建的一个具体的事物,是具体存在的,   类的方法
    class Abc:
     def ee(self): # 在类里,函数 叫 方法
     print(self) # self 是实例本身     obj = Abc() # 实例在调用 方法 时,自动传入 self 参数
    obj.ee()

    实例.方法(参数) ---》》 类.方法(实例,参数)
      参数
self 将会自动传入, 通常谁调用,就指的是谁,   私有属性,方法
    class Abc:
     _x = 2          # 私有的定义,
     __y = '不能说的秘密'   # 私有的定义,
    obj = Abc()
    print(obj._x)
    print(obj._Abc__y)
    在类中,可以定义私有属性,方法:
    _名称()  -----》》 该受保护的属性,方法可以直接调用,原则上不能修改
    __名称()  -----》》 不能直接调用, 可以用 类名(或实例名)._类名__属性名(或方法名)   初始化 和 删除实例
  class Abc:
   def __init__( self,name ): # 类的固定方法,会在不同情况下自动调用,
   self.name = name
       ..... ....       返回 sself 的数据属性,{}形式
   print('初始化 ')    def __del__(self):      # 定义了 删除 方法
   print('正在删除实例')   obj = Abc('花痴') # 实例化时 自动调用 __init__
  print(obj.name)
  del obj          # 删除 实例 增删改查的操作:
class CHinse:
coontry = 'CHinse'
def __init__(self,name):
self.name = name
def ply_ball(self,ball):
print( '%s正在打%s'%(self,name) )

# 查
print(CHinse.coontry) # ---》》CHinse

# 改
CHinse.coontry = 'japan'
print(CHinse.coontry) # ---——》》japan
p1 = CHinse('花痴')
print(p1.coontry)      # ————》》黄色

# 增
CHinse.fu_se = '黄色'
print(CHinse.fu_se)   # ————》》增加 print(p1.fu_se)
# why? :创建的是 实例,改的是类,通过 实例 引用的 类

# 删除
print(CHinse.__dict__)
del CHinse.fu_se
del CHinse.coontry
print(CHinse.__dict__) # 下面方法的操作,
# 增
def eat_food(self,food):
print('%s正在吃%s'%( self.name, food )) CHinse.eat = eat_food
p1.eat('饭')          # ————》》 花痴正在吃饭 # 改
def abc(self):
print('abc') CHinse.ply_ball = abc
p1.ply_ball()        # ---->>> abc

潭州课堂25班:Ph201805201 第十课 类的定义,属性和方法 (课堂笔记)的更多相关文章

  1. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第四课 登录注册 (课堂笔记)

    index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  2. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第三课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  3. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第二课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  4. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第一课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  5. 潭州课堂25班:Ph201805201 爬虫基础 第八课 selenium (课堂笔记)

    Selenium笔记(1)安装和简单使用 简介 Selenium是一个用于Web应用程序测试的工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, ...

  6. 潭州课堂25班:Ph201805201 爬虫基础 第一课 (课堂笔记)

    爬虫的概念: 其实呢,爬虫更官方点的名字叫数据采集,英文一般称作spider,就是通过编程来全自动的从互联网上采集数据.比如说搜索引擎就是一种爬虫.爬虫需要做的就是模拟正常的网络请求,比如你在网站上点 ...

  7. 潭州课堂25班:Ph201805201 爬虫基础 第十五课 js破解 二 (课堂笔记)

    PyExecJs使用 PyExecJS是Ruby的ExecJS移植到Python的一个执行JS代码的库. 安装 pip install PyExecJS 例子 >>> import ...

  8. 潭州课堂25班:Ph201805201 并发(协程) 第十五课 (课堂笔记)

    #斐波那契 def fid(n): res = [] indx = 0 a = 0 b = 1 while indx < n : res.append(b) a,b = b,a+b indx + ...

  9. 潭州课堂25班:Ph201805201 tornado 项目 第十二课 项目部署(课堂笔记)

    运行多个Tornado实例 网页响应不是特别的计算密集型处理 多个实例充分利用 CPU 多端口怎么处理 Linux 常见应用服务配置模式 nginx 和 supervisord:采用主配置文件 + 项 ...

随机推荐

  1. emmc基础技术8:操作模式4-data transfer mode

    1.前言 eMMC总线操作包含: boot mode, device identification mode interrupt mode data transfer mode 本文主要描述data ...

  2. redis学习笔记(面试题)

    1. 什么是redis Redis是一个数据库,他和我们传统的oracle数据库差别是它是基于内存的数据库:因为是基于内存,所以效率就高,在某些场景下就可以对我们传统的关系型数据库做一个补充 2. r ...

  3. python内存数据库pydblite

    Pure-Python engine 最近由于项目开发中发现python informixDB模块对多线程的支持非常不好,当开启两个线程同时连接informix数据库的时候,数据库会报错,显示SQL ...

  4. openwrt 中route配置

    route配置项默认保存在文件 /etc/config/network 中. 配置route的接口“interface” 使用的协议需要为dhcp才可. config interface 'wan' ...

  5. Linux服务器性能评估

    一.影响Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘I/O带宽 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 影响性能因素 评判标准 好 坏 糟糕 CPU ...

  6. 测试开发之Django——No5.Django项目的部署(CentOS7+nginx)

    配置环境:CentOS7 1.安装python3环境 默认的CentOS7系统中,会安装python2.7的版本,由于Django2.0并不支持python2.7的版本,所以我们需要自己在系统中安装p ...

  7. LeetCode(46):全排列

    Medium! 题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [ ...

  8. OI中坑点总结

    以下是我个人OI生涯中遇到的坑点的一个小总结,可能是我太菜了,总是掉坑里,请大佬勿喷 1,多重背包的转移的循环顺序 //默认每个物品体积为一(不想打码……) //dp[i]表示占用背包容量i所能获得的 ...

  9. 性能测试九:jmeter进阶之beanshell的使用+断言

    一.使用 BeanShell使用方式一 BeanShell面板上写脚本 // 从vars中获取用户定义的参数,并转换为int类型 int p_skuId = Integer.parseInt(vars ...

  10. js中数组去重

    编写函数norepeat(arr) 将数组的重复元素去掉,并返回新的数组 [注]正序去重,会漏掉一些元素. [注]去重倒序. var arr = [10, 20, 30, 40, 30, 20, 20 ...