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

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

相关文章
|
28天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
103 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
2月前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
3月前
|
JSON 开发工具 git
基于Python和pygame的植物大战僵尸游戏设计源码
本项目是基于Python和pygame开发的植物大战僵尸游戏,包含125个文件,如PNG图像、Python源码等,提供丰富的游戏开发学习素材。游戏设计源码可从提供的链接下载。关键词:Python游戏开发、pygame、植物大战僵尸、源码分享。
|
4月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
50 2
|
4月前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
45 1
|
4月前
|
设计模式 开发者 Python
Python类里引用其他类
Python类里引用其他类
47 4
|
4月前
|
Java Python
Python if-else嵌套!
本文详细介绍了Python中的条件语句,包括`if`、`if...else`、嵌套`if`及`if-elif`语句。`if`语句在条件为真时执行特定代码块,`if...else`则在条件为假时执行备选代码块。嵌套`if`语句允许在一层`if`语句内嵌套另一层`if`语句,实现更复杂的条件判断。`if-elif`语句简化了多条件判断的流程。文章通过多个示例演示了这些语句的使用方法,并讨论了常见问题,如在嵌套`if`中使用`elif`以及`if`语句的嵌套层次等。
122 3
|
4月前
|
设计模式 开发者 Python
Python 类中引用其他类的实现详解
Python 类中引用其他类的实现详解
87 1
|
4月前
|
JSON 缓存 API
在 Python 中使用公共类处理接口请求的响应结果
在 Python 中使用公共类处理接口请求的响应结果
60 1
|
4月前
|
自然语言处理 Java 编译器
为什么要看 Python 源码?它的结构长什么样子?
为什么要看 Python 源码?它的结构长什么样子?
67 2

热门文章

最新文章