python 面向对象

面向对象python

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象做为程序的基本单元,一个对象包含了数据和操做数据的函数编程

class car:
    #静态字段,类属性
    cars='车的种类之一'
    def __init__(self,name):
        #动态字段,实例属性
        self.name=name
car1=car('宝马')
print(car1.name)
print(car.cars)
print(car1.cars)

定义1个对象:class xxx:函数

实例化1个对象:def __init__(self,value)  spa

__init__ 是初始化的意思.net

定义car(车)这个类,而宝马这个实例对象拥有 name属性设计

经过字典,一次性取出实例对象全部属性 __dict__code

class People:
    def __init__(self,name,sex,number,age):
        self.name=name
        self.sex=sex
        self.number=number
        self.age=age
p1=People('SBharmel','man',1350023,16)
print(p1.__dict__) #经过字典,一次性取出,对象全部属性

#输出结果:
#{'name': 'SBharmel', 'number': 1350023, 'sex': 'man', 'age': 16}

从属关系对象

cars 属于 car 类   类不能访问动态字段get

name 属于 car1 对象      对象能够访问动态字段和静态字段it

只有是从属关系,才能用 .xxx 方法获取

因此能够写 car.cars #获取静态字段 car1.name #获取动态字段

若是写成 car.name 则会报错

不能写的缘由:

1.从属关系不一样

2. 车这个类可能拥有多个类型如 宝马, 奔驰 他们两个的属性不同,如价格,车速不一样

#可是对象能够获取 静态字段 car1.cars

由于 car1 也属于 这个类 (car)

class car:
    def __init__(self,name,speed,price):
        self.name=name
        self.speed=speed
        self.price=price
car1=car('宝马','130km/h','100w')
car2=car('奔驰','140km/h','80w')
print(car1.name)       #正确
print(car2.price)      #正确
print(car.speed)       #报错 
'''
Traceback (most recent call last):
  File "E:\workspace\day4\backend\class.py", line 23, in <module>
    print(car.speed)
AttributeError: type object 'car' has no attribute 'speed'
'''

静态字段和动态字段

类建立的字段叫作 静态字段 cars

.sefl 建立的字段叫作 动态字段 name

静态方法(@staticmethod)和动态方法以及特性( property)

@staticmethod  #构造的函数()里面不传参数self

def foo()

@property      #构造的函数 ()里面要传参数 self,调用不用写()

hb.bar             #仅为实例对象的特性,类调用无内容

class Province:
    def __init__(self,name):
        self.name=name
    #动态方法
    def meeting(self):
        print(self.name+'正在开运动会')
    #静态方法
    @staticmethod            
    def foo():
        print('每一个省要坚持环保')
    #特性
    @property
    def bar(self):
        print('someting')
    
hb=Province('湖北')
hb.meeting()
Province.foo()
hb.bar

相关文章
相关标签/搜索