zoukankan      html  css  js  c++  java
  • python的类和对象

    1. 内置类: dict, list, int string, tuple, set等

    2. 自定义类:def func(),   class Person(),  类的属性,实例属性等

    3. 查看对象的所有属性: dir(alex)  或是 alex.__dict__

    4. 类:拥有一类特殊的事务,如车,人等;

    class Person:
        country = 'China'  #类属性,也叫静态属性,类和实例都可以访问
        def __init__(self,*args):  #初始化方法
            self.name = args[0]  #实例属性,只有实例可以访问
            self.hp = args[1]
            self.aggr = args[2]
            self.sex = args[3]
    
        def walk(self,n):  #类方法,一般由实例对象调用
            print('%s走了%s步!' %(self.name,n))
    
    alex=Person('狗剩儿',100,1,'不详')  #实例化
    print(alex.__dict__)  #查看实例对象alex的所有属性
    print(Person.__dict__)   # print(dir(Person))
    
    print('++++++++++++++++')
    print(Person.country)
    print(alex.country)
    
    print('################')
    alex.walk(3)    #等价于这种调用:Person.walk(alex)
    print(alex.name)   #查看实例对象alex的属性值
    
    print('*****************')
    print(alex.name)
    alex.__dict__['name'] = '小黄儿' #实例的所有的属性是以字典形式存储,故可以通过字典的访问形式修改它,增加值,甚至删除它
    alex.__dict__['add'] = '新增加的一个值'
    print(alex.__dict__)
    
    Person.__dict__['country']  = '英国'  #会报错TypeError,故不能这样修改
    类的初识

         1> 类中定义的函数,是属于类的,叫类方法;

          2> 但类不能直接 调试:类.方法() ,要先实例化一个实例对象,作为参数传入才可以调用: 类.方法(实例对象) ;

          3> 一般类的方法是通过实例对象来调用的: 实例.方法()  ;

          4> 类属性也叫静态属性,且类可以直接查看,无需实例化;

          5> 类属性,实例对象也可以访问;

          6> 实例属性只能由实例访问,类不能访问;

          7> 实例的所有的属性(通过__dict__访问时)是以字典形式存储,故可以通过字典的访问形式修改它,增加值,甚至删除它,如alex.__dict__['name'] = '小黄儿';

           8> 类的所有的属性(通过__dict__访问时)只能查看,不能修改,如Person.__dict__['country'] = '英国'会报错;

    5. 类的实例应用:

    from math import  pi
    
    class Circle:
        def __init__(self,r):
            self.r=r
    
        def area(self):  #面积
            return pi*(self.r**2)
    
        def perimeter(self):  #周长
            return 2*pi*self.r
    
    c1=Circle(3)
    print(c1.area())
    print(c1.perimeter())
    求圆的面积和周长
  • 相关阅读:
    MySQL灾备切换
    crontab 定时任务
    Mysql常用命令 详细整理版
    linux 常用命令
    shell逻辑运算总结, 包括[[]]与[]的区别,&&与-a的区别,||与-o的区别
    linux端口详解大全
    编译安装php5.6
    linux给用户添加sudo权限
    Effective C#(二)
    Effective C#(一)
  • 原文地址:https://www.cnblogs.com/quiet-sun/p/12318797.html
Copyright © 2011-2022 走看看