文章目录
- 前言
- 一、函数基础
- 1. 函数参数
- 2. 函数返回值
- 3. 函数嵌套
- 二、homework 作业
- 三、变量
- 1.局部变量
- 2. 全局变量
- 四、引用
- 五、匿名函数 lambda表达式
- 1. lambda 表达式
- 2. python的 三元运算
- 六、递归函数
- 七、内置函数
- 1. 函数总结
- 2. 数学运算
- 3. 类型转换
- 4. 序列转换
- 5. 集合
- 6. 三元运算
- 八、homework 作业
前言
七月份很长时间没有写博客了,打算看完在写的,但是看完视频了,一直没时间写,终于拖到了月末的最后一天,就把代码中README.md文件整理过来了,当时写README.md文件的时候也是比较用心的。
看这个文档的时候,最好是跟着 GitHub上的代码一块儿看,循序渐进、由浅入深。
地址我就放在这儿了:https://github.com/fengfanli/studyPython
***************************************************************************
- 什么是函数:
一系列Python语句的组合,可以在程序中运行一次或者多次, 一般是完成具体的独立的功能 - 为什么要使用函数:
代码的复用最大化以及最小化冗余代码,整体代码结构清晰,问题局部化 - 函数定义:
def 函数名():
函数体[一系列的python语句,表示独立的功能] - 函数的调用:
本质上就是去执行函数定义里面的代码块,在调用函数之前 必须先定义
一、函数基础
1. 函数参数
-
必选参数
-
默认参数
【缺省参数】 -
可变参数
当参数的个数不确定时使用,比较灵活 , 可变参数 传入到 方法内 为 元组类型
定义: def getComputer(*args) -
关键字可变参数
关键字参数是一个 字典类型, key是一个字符串
def keyFunc(**kwargs):
注意: 可变参数 必须放到 关键字可选参数 之前
2. 函数返回值
概念
:函数执行完以后会返回一个对象,如果在函数的内部有return 就可以返回实际的值,否则返回None
类型
:可以返回任意类型,返回值类型应该取决于return后面的类型
用途
:给调用方返回数据
在一个函数体内可以出现多个return值:但是肯定只能返回一个return
如果在一个函数体内 执行了return,意味着函数就执行完成退出了,return后面的代码语句将不会执行
3. 函数嵌套
函数的分类:根据函数的返回值和函数的参数
- 有参数无返回值的
- 有参数又返回值的
- 无参数又返回值的
- 无参数无返回值的
二、homework 作业
- 作业一、写函数,接收n个数字,求这些参数数字的和
def sumFunc(*args):
result = 0
for item in args:
result += item
pass
return result
pass
result1 = sumFunc(1, 2, 3, 46, 78, )
print('sumFunc(*args) 返回值:{}'.format(result1))
- 作业二、写函数,找出传入的 列表或元组 的 奇数位对应的元素 ,并返回一个新的列表
def processFunc(con):
listResult = []
index = 1
for item in con:
if index % 2 == 1: # 判断奇数位
listResult.append(item)
pass
index += 1
pass
return listResult
pass
result2 = processFunc([1, 2, 3, 4, 5, 6, 70])
print('processFunc(con) 返回值:{}'.format(result2))
- 作业三、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def dictFunc(dicParameter): # **kwargs 这里可以用 关键字可变参数代替
'''
检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
:param dictParameter:
:return:
'''
result = {} # 空字典
for key, value in dicParameter.items():
if len(value) > 2:
result[key] = value[:2] # 向字典中添加数据
pass
else:
result[key] = value
pass
pass
return result
pass
# 函数调用
dictPatam = {'name': '夏雨', 'hobby': ['唱歌', '跳舞', '运动', '编程'], 'pro': '中国艺术'}
dictResult = dictFunc(dictPatam)
print('dictFunc(dictParameter) 返回值:{}'.format(dictResult))
三、变量
变量分为 局部变量 和 全局变量
注意 global 关键字 的使用时机。
1.局部变量
-
局部变量
就是在函数内部定义的变量【作用域仅仅局限在函数的内部】 - 函数内部的变量名如果第一次出现,且出现在‘=’前面,即被视为该函数定义了一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量。
- 不同的函数 可以定义相同的局部变量,但是各自用各自的 不会产生影响
-
局部变量的作用
:为了临时的保存数据 需要在函数中定义来进行存储
2. 全局变量
特点:
-
全局变量
:如果一个变量可以在函数内部调用,也可以在函数外部调用。 - 全局变量能在函数内部访问,也可以在外部访问,但函数内部不能修改全局变量。
- 全局变量与局部变量重复,局部变量不会影响全局变量,函数使用局部变量。
总结:
- 注意:当全局变量和局部变量出现重复定义的时候,程序会优先执行使用函数内部定义的变量【地头蛇】
- 如果在函数的内部要想对全局变量进行修改的话 对于不可变类型【str、元组、num】 必须使用 global 关键字进行声明
- 可变类型的全局变量,可以不用global声明。
四、引用
在python中,值是靠引用来传递来的,可以用id()查看一个对象的引用是否相同,id是值保存在内存中那块内存地址的标识。
ch07_引用.py
五、匿名函数 lambda表达式
1. lambda 表达式
- python中使用 lambda 关键字创建匿名函数,所谓匿名即这个函数没有名字不用def关键字创建标准的函数。
-
语法: lambda 参数1,参数2,参数3: 执行代码语句
使用 lambda表达式 计算两个数和:
test = lambda x,y:x +y
test(1,3)
test(4,5)
换成普通函数其实就是这样的
def test(x,y):
return x + y
2. python的 三元运算
b if a else c 解释: 如果a表示式为 true 则 为b, 如果为 false 则为 false。
这样的表达式(三元运算)能够放在lambda中,它们能够在lambda函数中来实现选择逻辑:
greater = (lambda x, y: x if x > y else y)
greater(3, 5)
greater(6, 2)
ch08_匿名函数.py
六、递归函数
递归函数 如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。
ch09_递归函数.py 主要看例子吧
七、内置函数
任何一门编程语言的核心操作都是操作内存中的数据,但内存中的数据又是通过编程语言的API来实现,
所谓的API,就是系统提供给我们的函数,有一种函数是系统预先定义的函数,也就是我们安装python就自带的函数,这种我们把它称为内置函数,也叫内嵌函数
如同人一生下来就有手有脚,会吃会喝一样,具备基本的能力 ,随着成长和学习,我们学会了说话、学会了工作,学会了技能等,而这些能力就如同我们 Python 的扩展函数或扩展库
Python内置函数 python内置了一系列的常用函数,以便于我们使用。所有内置函数官网文档 https://docs.python.org/3/library/functions.html 内置函数
1. 函数总结
内置函数功能列表
Python内置函数 python内置了一系列的常用函数,以便于我们使用。所有内置函数官网文档 https://docs.python.org/3/library/functions.html 内置函数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hLQzkwUz-1596112361157)(…/images/study04/python内置函数小节.jpg)]
2. 数学运算
- abs()
描述: abs() 函数返回数字的绝对值
语法: abs( x )
参数: x – 数值表达式
返回值: 函数返回x(数字)的绝对值 - round()
描述: round() 方法对 浮点数进行近似取值,保留几位小数
语法: round( x [, n] )
参数:
x – 数值表达式
n – 数值表达式
返回值: 返回浮点数x的近似值
注意
:这里不完全是按照四舍五入或者四舍六入五成双来进行取值的,取值和python的版本有关,还和浮点数的精度有关 - pow()
描述: pow()方法返回 标签:返回,函数,Python,语法,参数,返回值,表达式,lambda From: https://blog.51cto.com/u_15926676/5981031