zoukankan      html  css  js  c++  java
  • 2019年7月7日 类属性的增删改查

    class Chinese:
        'chinese people 的类'
        dang='GCD' #定义来属性
        def __init__(self,name,age,gender):#self 代表自身,初始化函数,class 中只要把名字定义为__init__,自动去运行,函数必须要有self 参数
            self.mingzi=name  #定义类名字属性,并封装到self中
            self.nianji=age
            self.xingbie=gender
            #自动return
    
        def sui_di_tu_tan(self):#将自身传递给参数
            print('%s随地吐痰'%self.mingzi)
    
        def cha_dui(self):
            print('%s插到了前面'%self.mingzi)
    
        def eat_food(self,food):
            print('%s正在吃%s'%(self.mingzi,food))
    
    p1=Chinese('zyk',18,'man')
    p1.sui_di_tu_tan()
    p1.cha_dui()
    p1.eat_food('shit')
    
    # 数据属性
    #查看
    print(Chinese.dang)
    #修改
    Chinese.dang='GMD'
    print(Chinese.dang)
    #删除
    del Chinese.dang
    # print(Chinese.dang) #会报错
    #增加
    Chinese.dang='ZGGCD'
    print(Chinese.dang)
    
    Chinese.country='China'
    print(Chinese.country)
    
    # 函数属性的增删改查
    # 增加
    def eat_today(self,food):
        print('%s今天吃的是%s'%(self.mingzi,food))
    Chinese.eat_today=eat_today#传递函数地址
    
    p1.eat_today('newshit')
    Chinese.eat_today(p1,'dogshit')
    
    # 实例属性的增删改查
    p2=Chinese('zyk2',99,'man')
    
    # 查看
    print(p2.mingzi)#实例的数据属性
    print(p2.eat_today)#实例调用类的函数属性,但是实例中没有函数属性
    
    # 增加
    p2.aihao='basketball'
    print(p2.aihao)
    
    p2.__dict__['sex']='male'#不推荐
    
    
    #函数属性也能做增删改查,但是不推荐
    def test(self):
        print('实例函数属性',self)
    p2.test=test #传递的是test函数的地址
    p2.test(p2)#因为调用实例自己的,所以不会自动传递self,如果是调用class内的函数,则会自动传递self
    print(p2.__dict__)
    
    # 修改
    p2.nianji=88
    print(p2.nianji)
    
    # 删除
    del p2.sex
    print(p2.__dict__)

    >>>

    zyk随地吐痰
    zyk插到了前面
    zyk正在吃shit
    GCD
    GMD
    ZGGCD
    China
    zyk今天吃的是newshit
    zyk今天吃的是dogshit
    zyk2
    <bound method eat_today of <__main__.Chinese object at 0x10220c240>>
    basketball
    实例函数属性 <__main__.Chinese object at 0x10220c240>
    {'mingzi': 'zyk2', 'nianji': 99, 'xingbie': 'man', 'aihao': 'basketball', 'sex': 'male', 'test': <function test at 0x10209e158>}
    88
    {'mingzi': 'zyk2', 'nianji': 88, 'xingbie': 'man', 'aihao': 'basketball', 'test': <function test at 0x10209e158>}

  • 相关阅读:
    学习python第二天
    学习python第一天
    SQL操作
    JAR规范 JAR File Specification
    IDEA快捷键
    Fibonacci数列
    AnyHandler
    测试UDP
    Eclipse卡顿设置
    服务器初始化操作
  • 原文地址:https://www.cnblogs.com/python1988/p/11147530.html
Copyright © 2011-2022 走看看