Python函数与对象

Python函数与对象,第1张

Python函数对象 1. 函数

记住关键字:def

1.1 函数是什么

函数是一段定义好的程序代码,可以被反复调用(可能带有参数,也就是放在圆括号中的值),它执行结束后可能会有返回值,系统定义好的函数叫内置函数,其余的都可称为自定义函数(用户自己定义的,也可能是第三方自定义的)

1.2 Python函数怎么定义
def 函数名(): # 无参无返回值
    语句块

def 函数名(): # 无参有返回值
    语句块
    return xxx

def 函数名(参数1,参数2,...): # 有参无返回值
    语句块

def 函数名(参数1,参数2,...): # 有参有返回值
    语句块
    return xxx

常见的定义方式如上所示,下面通过代码演示一下函数的定义以及调用,通常将函数定义好再进行调用,否则会出现异常

通常会在定义函数的同时,加上注释,便于别人理解该函数是干嘛的

 定义函数时也可以给定参数关键字以及默认值,这样可以省去一些传参顺序要求和参数含义说明

当然,作为脚本语言,怎么能少了闭包呢,关于闭包参阅:理解Python闭包概念

函数定义部分就做这么多介绍了,想要了解更多的, 参阅:Python函数用法详解

1.3 Python函数分类

根据参数分类:有参函数、无参函数

根据返回值分类:有返回值函数、无返回值函数

根据定义者分类:内置函数、自定义函数

比如zip函数,range函数就是python内置的,我们自己定义的函数就属于自定义函数,引入的其他库的函数也算自定义函数,不过是第三方自定义的

2. 对象

记住关键字:class、self

2.1 什么是对象

对象(object),基本上可以看做数据(特性)以及一系列可以存取、 *** 作这些数据的方法所组成的集合。

2.2 什么是面向对象

详见百度百科:面向对象

2.3 面向对象的特性

多态(Polymorphism):意味着可以对不同类的对象使用相同的 *** 作,它们会像被“施了魔法一般”工作

封装(Encapsulation):对外部世界隐藏对象的工作细节

继承(Inheritance):以通用类为基础建立专门的类对象

2.4 如何创建和使用对象

创建对象:

伪代码:obj = 类名([参数])【参数是可选的,需要看类的定义】

使用对象:

伪代码:obj.method([参数]),obj.attributes

通过点 *** 作符进行访问对象的方法和特性

这样就得到了一个类型为上述类名的对象,于是乎引出了一个新的问题:什么是类 ? 

2.4.1 类和类型

类是一类对象的抽象,类中包含属性和方法,对象是类的实例(instance)

鸟类是一个非常通用(抽象)的类,具有很多子类(subclass):“百灵鸟类”,“雀鸟类”,so on。鸟类则是百灵鸟类、雀鸟类的超类(父类)(superclass)

定义子类只是个定义更多(也可能是重载已经存在的)的方法的过程。

2.4.2 创建第一个类
class Bird:
    song = 'Squaawk!'
    def sing(self):
        print(self.song)

通过此类来创建对象,并访问属性及方法,尝试一下

bird = Bird()
bird.sing()
bird.song = '叽叽喳喳'
bird.sing()

self的含义即指代调用的实例本身,在类的定义里面,某些方法内访问类里面的其他方法或特性时固定写法:self.method([参数])、self.xxx

定义方法的时候,第一个参数固定为self,如果没有其他参数,调用的时候就通过对象.method()即可,无需传参

Python类定义的时候还可以指定超类、构造函数、so on,更多内容请参阅: Python类和对象

2.4.3 类的命名空间

定义类时,所有位于class语句中的代码都在特殊的命名空间执行——类命名空间(class namespace),这个命名空间可由类内所有成员访问。类的定义其实就是执行代码块。

第一个类Bird中定义的song变量可被类访问,也可被所有实例访问,当实例给自己的特性song赋值后,屏蔽了类范围内的变量song(优先访问自己内部的,类中的就相当于更大作用域的)

Congratulations

本文是Python3.x基础篇的最后一篇教程,看完后相信大家基本了解了Python编程语言了,甚至可以开始动手写一些基本的代码

关于Python编程集成环境工具,可以自行百度,常用的有PyCharm,VSCode,so on,不再赘述了,想要了解更多请关注进阶篇,作者会不定期持续更新的,快来一起感受Python编程之美吧 ~

如有需要,可以去百度网盘下载Python基础教程(第3版)pdf

Python基础教程(第三版) 提取码: svix

参阅资料:

1、廖雪峰Python教程网站

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存