Python函数、类和对象、流程控制语句if-else while的讲解及演示(图文解释 附源码)

简介: Python函数、类和对象、流程控制语句if-else while的讲解及演示(图文解释 附源码)

一、函数

函数是完成某个功能的代码段,可被其他代码调用,调用的代码可以将数据传递给函数,函数可将对数据的处理结果返回给调用代码。

def mysubt( a, b = 0 ): # 定义一个自己的减法函数,第二个参数为默认值为0的默认参数
    c = a - b
    return c
c = mysubt( 2, 1 ) # 按函数定义的参数顺序传入数据
c
>>>  1
d = mysubt(b = 1, a = 2) # 用赋值符号指定每个参数的值来传入数据
d
>>>  1
e = mysubt( 2 ) # 默认参数采用默认值,不输入新值
e
>>>  2
def changeInt ( k ):
    k += 1
    print( "函数内部的值:%d " % ( k ))
    return
k = 1106
changeInt( k )
print( "函数外部的值:%d " % ( k ))
>>>  函数内部的值:1107 
     函数外部的值:1106
def changeList ( mylist ):
    mylist[0] = 0
    return
newlist = [ 1, 2, 3 ]
changeList( newlist )
newlist
>>>  [0, 2, 3]
mynewsubt = lambda a, b: a - b
mynewsubt( 2, 1 )
>>>  1

内置函数

数学运算类内置函数有求绝对值函数abs、求幂函数pow、求四舍五入函数round、对集合求和函数sum、取商和余数函数divmod、创建复数函数complex、产生一个序列函数range、转换成浮点数函数float、转换成整数函数int、转换为8进制函数oct、转换为16进制函数hex、转换为2进制函数bin、转换为布尔类型函数bool等。

集合操作类内置函数有创建字典函数dict、创建集合函数set、创建元组函数tuple、转换为列表函数list、生成一个迭代器函数iter、排序函数sorted、返回集合中的最大值函数max、返回集中的最小值函数min、返回集合长度函数len、遍历元素执行操作函数map/转换为字符串函数str、格式化输出字符串函数format等

IO操作类内置函数除了print和input外,还有创建文件的file函数和打开文件的open函数等。

其他常用内置函数还有对类和对象进行操作的函数以及返回变量类型函数type等

二、类和对象

对象

对象有属性和行为,属性可以表征对象的特征和状态,行为代表对象的功能。具有相同类型属性和行为的对象,用一个“类(class)”来抽象。在Python里,把类的行为的实现称为方法,方法的定义和应用类似于函数。

一个类是某一类对象的抽象,因此,该类对象的创建要依据该类来创建,称为实例化。因为str类是内置的,Python提供了更加方便和直观的对象创建方法,用赋值方式来创建字符串对象。

a = str( "aaaa" ) # 从类的实例化来创建对象
b = "aaaa" # 作为内置类型,可以用赋值运算符的方式创建对象
a == b
>>>   True
a.__eq__(b)
>>>   True

Python中的对象由对象标识符(identity)、类型(type)和值(value)组成。

Python的机器学习扩展库将机器学习的算法已经封装为各种类,只需要将类实例化,并按使用要求使用即可。

字符串类str的常用方法有:在字符串中查找指定子串方法find、字符串格式化方法format、检查是否只包含十进制数字方法isdecimal、检查是否只包含数字方法isdigit、检查是否只包含空格方法isspace、合并字符串方法join、子串替换方法replace、去掉头尾空格方法strip、分隔字符串方法split等等。

mystring = "   mystring   " # 头尾有空格
mystring.strip() # 用strip方法去掉头尾的空格
>>>  'mystring'
>>>   '__class__',
>>>   '__contains__',
>>>   '__delattr__',

数据类型的整数类int、浮点数类float、复数类complex和布尔类bool的方法主要是支持各类运算符的专有方法,如加法__add__、减法__sub__等。

列表类型的list类的常用方法有:向列表的末尾添加元素方法append、清除列表方法clear、拷贝列表方法copy、返回子元素出现的次数方法count、返回子元素的索引方法index、在指定索引处插入元素方法insert、删除列表中一个元素方法pop、从列表中删除指定元素方法remove、反转列表方法reverse、列表元素排序方法sort等。

mylist = [ 1, 2, 3, 4, 5 ]
mylist.reverse()
mylist
>>>   [5, 4, 3, 2, 1]

因为元组是不可变的序列,所以元组类型的tuple类没有可对元素进行修改的方法,其他方法与list类相似。

集合类型的set类的常用方法有:添加元素方法add、移除所有元素方法clear、拷贝集合方法copy、删除集合中指定元素方法discard、返回集合交集方法intersection、随机移除元素方法pop、移除指定元素方法remove、返回两个集合的并集方法union等。

字典类型的dict类的常用方法有:删除字典内所有元素方法clear、返回指定键的值方法get、判断键是否在字典中的方法key_in_dict、删除指定键对应的元素方法pop等。

类的创建

类的创建和使用主要涉及类定义、构造方法、继承和方法重写。

class circlar_area:         # 定义一个计算圆面积的类
    pi = 3.14                 # 圆周率是类的属性
    def __init__(self, r): # 类的构造方法
        self.r = r            # 通过构造方法设置圆的半径
    def compute(self):       # 该方法计算圆的面积
        return self.pi * self.r**2    
circle = circlar_area(1)    # 实例化类得到对象,通过构造方法设置了圆的半径
circle.compute()              # 调用对象的compute方法得到圆的面积
>>> 3.14 
class round_area(circlar_area): # 继承circlar_area类,得到计算圆环面积的新类
    def __init__(self, r, R):     
        circlar_area.__init__(self, r) # 构造方法里要调用父类的构造方法
        self.R = R                   # 构造方法里设置圆环的另一个半径
    def compute(self):        # 重写compute方法,实现计算圆环的面积
        return abs((self.pi * self.R**2) - (self.pi * self.r**2)) 
round_ = round_area(1, 2) # 实例化
round_.compute()
>>> 9.42

三、流程控制

下面是if-else分支结构

if condition:
    statements1
if condition:
    statements1
else:
    statements2
if condition1:
    statements1
elif condition2:
    statements2
else:
    statements3

下面是while循环结构

while condition:
    statements
while condition:
    statements1
else:
    statements2
for var in sequence:
    statements
for var in sequence:
    statements1
else:
    statements2

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
9月前
|
机器学习/深度学习 监控 算法
基于mediapipe深度学习的手势数字识别系统python源码
本内容涵盖手势识别算法的相关资料,包括:1. 算法运行效果预览(无水印完整程序);2. 软件版本与配置环境说明,提供Python运行环境安装步骤;3. 部分核心代码,完整版含中文注释及操作视频;4. 算法理论概述,详解Mediapipe框架在手势识别中的应用。Mediapipe采用模块化设计,包含Calculator Graph、Packet和Subgraph等核心组件,支持实时处理任务,广泛应用于虚拟现实、智能监控等领域。
|
6月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
911 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
6月前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
212 4
|
6月前
|
机器学习/深度学习 数据采集 算法
基于mediapipe深度学习的运动人体姿态提取系统python源码
本内容介绍了基于Mediapipe的人体姿态提取算法。包含算法运行效果图、软件版本说明、核心代码及详细理论解析。Mediapipe通过预训练模型检测人体关键点,并利用部分亲和场(PAFs)构建姿态骨架,具有模块化架构,支持高效灵活的数据处理流程。
|
7月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
703 3
|
6月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
8月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
8月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
7月前
|
并行计算 算法 Java
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
Python解释器不止CPython,还包括PyPy、MicroPython、GraalVM等,各具特色,适用于不同场景。本文深入解析Python解释器的工作原理、内存管理机制、GIL限制及其优化策略,并介绍性能调优工具链及未来发展方向,助力开发者提升Python应用性能。
448 0
|
7月前
|
Python
解决Python中AttributeError:'image'对象缺少属性'read_file'的问题策略。
通过上述策略综合考虑,您将能够定位问题并确定如何解决它。记住,Python社区很庞大,也很乐于帮助解决问题,因此不要害怕在求助时提供尽可能多的上下文和您已经尝试过的解决方案。
196 0

推荐镜像

更多