python 面向对象--类,对象,属性,方法,魔法方法

1.理解面向对象思想

  • 面向过程思想: 遇到问题,分析步骤.按照步骤解决问题.(复杂,重复)

  • 面向对象思想: 遇到问题,找到能解决问题的对象去解决.(简单,复用)

2.类和对象

# 定义类的格式:
# class 类名():
#     代码
#     ......
class Student():
​
    def study(self):
        print('学生好好学习')
​
    def eat(self):
        print('学生大鱼大肉,好好吃.')
​
if __name__ == '__main__':
    #创建对象格式:
    # 对象名 = 类名()
    xiaoming = Student()
​
    #使用对象的格式:
    #对象名.函数名()
    xiaoming.eat()
    xiaoming.study()

3.self关键字

# self指的是调用该函数的对象
# 调用函数我们不需要给self传参.因为python解释器会把调用者当成参数传递给self
class Student():
​
    def study(self):
        print('学生好好学习')
​
    # 谁来调用eat()-- self就是谁.
    def eat(self):
        print(self)#<__main__.Student object at 0x00000240B39B8460>
        print(id(self))#2476914476128
        print('学生大鱼大肉,好好吃.')
​
if __name__ == '__main__':
​
    xiaoming = Student()
    print(xiaoming) #<__main__.Student object at 0x00000240B39B8460>
    print(id(xiaoming)) #2476914476128  -- id()函数时对内存地址的封装.
    xiaoming.eat()
​
    print("*"*30)
    laowang = Student()
    print(laowang)

4.添加和获取属性

  • 类的外部 操作 属性

类的外部可以给类添加属性.
class Student():
​
    def study(self):
        print('学生好好学习')
​
    # 谁来调用eat()-- self就是谁.
    def eat(self):
        print('学生大鱼大肉,好好吃.')
​
if __name__ == '__main__':
    s1 = Student()
    # 类的外部>>>添加属性
    #格式:  对象名.属性名 = 值
    s1.name = 'tom'
    print(s1.name)
​
    s1.age = 19
    print(s1.age)
​
    s2 = Student()
   # 类以外的属性.定义后方能使用.
   # print(s2.name)#AttributeError: 'Student' object has no attribute 'name'
  • 类的内部添加属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值