python面向对象编程,python面向对象的定义概念和基本使用,类和对象,魔术方法等。

面向对象编程

创建类和对象

# 面向对象编程 OOP 【objecte oriented programming】
# 类就是一个模板 包含多个函数 完成功能
    # 一组相同或相似的特征属性行为方法的一系列对象的组合
# 对象是一个实实在在的东西 类的实例化、具体化
#定义类
class Person:
    '''
    对应人的特征
    '''
    # name='xiao王'
    age=20 #类属性
    def eat(self): # 实例方法 self必须被占用 可以为其他字符
        self.name='xiao张' #实例属性
        print('大口吃饭')
    def run(self):
        print('跑得飞快')
        pass
personA=Person() # 创建对象 类的实例化->对象名=类名()
personA.eat()
personA.run()
print(personA.age)
print(personA.name) # 小张

魔术方法:内置的 init()方法

class PeopleA:
    def __init__(self,name,sex,age): #初始化魔术方法 自动执行
        self.name=name
        self.sex=sex
        self.age=age
        pass
    def eat(self,food):
        '''
        吃的行为
        :return:
        '''
        print('{} like eat {}!'.format(self.name,food))
    pass
xw=PeopleA('张鹏','男生',19) #会带入参数进初始化函数中去
# xw.name='小王' # 添加实例属性
# xw.sex='女生'
xw.eat('苹果')
print(xw.name,xw.sex,xw.age)

self

#self self和对象指向同一个内存地址
# 可认为self就是对象的引用 不用传入参数
# self只有在类中定义实例方法时才有意义。
# self名字是可以更改的
# self指的是类实例对象本身 相当于Java中的this

str

def __str__(self):
    '''
    打印对象格式 自定义对象  内容格式
    :return:
    '''
    return '名字是%s,年龄是%s,性别是%s'%(self.name,self.age,self.sex)
xx=PeopleA('xiaowang','nan',12)
print(xx)  #就是执行str方法
    

new

def __new__(cls, *args, **kwargs):
    '''
    场景:控制创建对象的属性限定时 单例 
    创建对象实例的方法,每调用一次便生成一个对象
    :param args:
    :param kwargs:
    :return:
    '''
    print('__new__的执行') 
    return object.__new__(cls) #在这里是创建真正对象的
    pass
首先__new__的执行
其次__init__函数执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值