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())
求圆的面积和周长
原文地址:https://www.cnblogs.com/quiet-sun/p/12318797.html