Python学习笔记(新手入门)(6)面向对象

Python学习笔记(新手入门)(6)面向对象,第1张

Python学习笔记(新手入门)(6)面向对象

目录

3.7 内置函数

3.8 面向对象

3.8.1 面向对象介绍

3.8.2 类和对象

3.8.2.1 类的组成部分

3.8.2.2 定义类和对象

3.8.2.3 实例方法和属性

3.8.2.4 init方法

3.8.2.5 理解self

3.8.2.6 self传参问题

3.8.3 魔术方法


3.7 内置函数

内置函数就是Python安装后就自带的函数,我们可以直接去调用的函数。

本章节具体内容在下面官网中。

  • 官方文档地址内置函数 — Python 3.8.12 文档

3.8 面向对象 3.8.1 面向对象介绍
  • 面向过程:根据业务逻辑从上到下写代码

  • 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅需要调用函数即可

  • 面向对象编程:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程

3.8.2 类和对象
  • 类是具有一组相同相似特征【属性】和行为【方法】的一系列对象的结果

  • 对象则是根据模板创建的实例,通过实例化对象可以执行类中的函数

3.8.2.1 类的组成部分
  • 类(class)有三部分组成

    • 类的名称

    • 类的属性

    • 类的方法:允许进行的 *** 作和方法

3.8.2.2 定义类和对象
#定义一个类
 #class 类名:
 #   属性
 #   方法
 class Person:
     name = "Rany" #属性
     age = 19 #属性
     sex = "男" #属性
     #方法1
     def eat(self): 
         print("今天吃麻辣香锅")
         pass
     #方法2
     def sing(self):
         print("飞")
 #格式:对象名 = 类名()
 class Person:
     name = "Rany"
     age = 19
     sex = "男"
     def eat(self):
         print("今天吃麻辣香锅")
         pass
     def sing(self):
         print("飞")
 ​

 #创建一个对象
 #格式:对象名 = 类名()
 #创建一个duixiang对象,对象可以访问属性,调用方法。
 ex=Person() #创建对象
 ex.eat() #调用eat方法
 print(ex.sing())
 print("{}的年龄是{},性别是{}".format(ex.name,ex.age,ex.sex))
 
3.8.2.3 实例方法和属性 
  • 在类的内部,使用def关键字可以定义一个实例方法,与一般函数不同,类方法必须包含参数 self ,且为第一个参数。

  • 实例发给发归于类的实例所有。

class Animal(object):
     #实例方法,使用def关键字来定义,第一个形参传实例对象本身,一般使用self作为第一个参数
     def test(self):
         print("我是一个实例方法")
         pass
     #一个类中可以有多个实例方法
     def show(self):
         print("Animal.show")
         pass
     pass
  • 属性:在类里面定义的变量【类属性】

  • 定义在方法里面使用self引用的属性称之为 实例属性【self.变量名 = 名称】

 class Animal(object): #定义一个类
 ​
     color = "黑色" #类属性
     
     def __init__(self):
         self.name = "haha" #实例属性
         pass
     pass
3.8.2.4 init方法
  • init(self)方法,初始化方法,实例化方法,实例化对象的时候自动调用,完成一些初始化设置。

  • __ init __(self)方法,在创建一个对象时默认被调用,不需要手动调用

  • 利用传参的机制,可以让我们定义功能更加强大,并且方便的类

3.8.2.5 理解self

self和对象指向同一个内存地址,可以认为self就是对象的引用。

 class Person:
     """
     定义类
     """
     def eat(self):
         """
         实例方法
         """
         print("self%s",id(self)) #打印self内存地址
         pass
     pass
 #Rany是一个新的实例化对象
 Rany = Person()
 print("Rany%s",id(Rany)) #打印Rany内存地址
 Rany.eat() #调用eat方法
 
#结果
 Rany%s 2578003235840
 self%s 2578003235840
 ​
 进程已结束,退出代码为 0
3.8.2.6 self传参问题
  • 所谓的self,可以理解为对象自己,某个对象调用其方法时,Python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可。

class Person:
     """
     定义类
     """
     def eat(self,food,name): #第一个参数self,引用food和name参数
         """
         实例方法
         """
         print("{}喜欢吃{}".format(name,food))
         pass
     pass
 #Rany是一个新的实例化对象
 Rany = Person()
 Rany.eat("麻辣香锅","rany") #调用eat方法并传入后面两个参数
  • self 只有在类中定义实例方法时才有意义,在调用时不需要传入第一个参数,而是由解释器自动的指向

  • self 的名称时可以更改的

  • self 指的是类实例对象本身,相当于java中的this关键字

3.8.3 魔术方法

注意:在这--等于Pycharm中 __ 因为作者使用markdown又恰恰是关键字,所以十分抱歉。

  • 在Python中,有一些内置好的特点的方法,方法名是“--xxx--”,在进行特定的 *** 作时会自动被调用,这些方法称之为魔术方法。

  • 举例

    • --init--方法:初始化一个类,在创建实例对象为其赋值时使用。

    • --str--方法:在将对象转换成字符串 str(对象) 测试的时候,打印对象的信息

    • --new--方法:创建并返回一个实例对象,调用了一次,就会得到一个对象

    • --class--方法:获得一致对象的类(对象--class--)

    • --del--方法:对象在程序运行结束后进行对象销毁的时候调用这个方法,来释放资源

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5658017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存