面向对象python

说明:面向对象语言中的类中都只有两种成员
1.成员变量,就是我们常说的整型,浮点型,字符串型等数据
2.成员函数,就是类中的函数也叫方法

最不要脸的地方来了:很多语言为了显示与众不同,老是给他的类中的成员取不同的名字,显示自己的独创性,显得语言的独一无二,显得自己的语言最牛逼(其实底层都是相互抄袭)结果弄得学习的人一塌糊涂.

  • 成员变量:叫法有静态成员,字段,静态字段,属性
  • 成员函数:叫法有动态成员,方法,动态属性    造这么多名词干啥?弄得我们学的乱成一锅粥,
    python中的叫法:
  • 成员变量–>属性
  • 成员函数–>方法(或者动态属性)
  • python中的叫"函数"东西不属于类中的成员

1.类

1.定义类的格式:
      class 类名:
            方法列表

2.定义方法的格式:
      def 方法名(self, 形参2, 形参3, …):
            方法体

3.创建对象的格式:
      变量名 = 类名()

说明 python中第一个参数不写self的方法称之为函数,方法是类中的动态属性。self相当于java语言和c++中类中的方法中的this关键字,只不过在Java和c++中方法中的第一个this参数编译器编译时默认给我们加上不需要手动加上(Java语言中多态实现分析的关键)

class Student:


    # 吃饭
    def eat(self, food):
        print(f"吃{food}")

    # 睡觉
    def sleep(self, where):
        print(f"睡在{where}")

    # 学习
    def study(self, course):
        print(f"学习{course}")

方法中的self表示 正在调用方法的对象,哪个对象正在调用方法,self就表示哪个对象既self中存储调用当前方法的对象的引用(也就是对象的地址).
python解释器能够根据self的值确定是哪个对象正在调用方法(类中的属性在对象中,而方法不再对象中内存分析).

class Student:

    def study(self, course):
        print(f"学习{course}")

s1 = Student()
s1.study("python")

s2 = Student()
s2.study("python")

表皮分析:
在这里插入图片描述
内存分析(缺1)

2**__ init() __方法**:又叫魔法方法(扯淡),用来做变量初始化 或 赋值 操作,在类实例化对象的时候,会被自动调用。("“python牛逼python世界第一一个小脚本语言有啥可吹的–致龟叔吧”"其实功能与别的面向对象语言中的构造函数(又叫构造器)的功能一模一样,在这里加几条下划线变个名字后非要叫什么鬼的魔法方法,)

作用:1.实例化对象 2.初始化成员变量
python与其他语言不同的是类的属性要写在__ init() __方法中
1.创建对象时(实例化一个对象时)python解释器干三件事

  • 1.在堆区开辟一块空间
  • 2.在堆中实例化对象
  • 3.调用构造函数初始化类的属性(成员变量)
class Student:

    def __init__(self):
        print("只要创建对象,不用你们手动调用我,编译器会自动调用我这个亲生的魔法方法(构造函数).....")


#创建对象
stu = Student()

运行结果:
在这里插入图片描述

2.1.python的属性要写在__init__(self):方法中(既构造函数中)这与其他面向对象语言不通(Java,c++的成员变量都是写在类中,仅仅在构造函数中初始化)
class Student:

    def __init__(self):
        self.name = "欧阳铁娃"
        self.age = 18
        self.sex = "男"

stu = Student()

#通过对象名访问类的属性(非私有)
print(stu.name)

#通过对象名更改类的属性
stu.name = "诸葛狗剩"
print(stu.name)

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值