首页 > 编程语言 >Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例

Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例

时间:2022-12-30 18:06:48浏览次数:64  
标签:返回 函数 Python 语法 参数 返回值 表达式 lambda


文章目录

  • ​​前言​​
  • ​​一、函数基础​​
  • ​​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​

***************************************************************************

  1. 什么是函数:
    一系列Python语句的组合,可以在程序中运行一次或者多次, 一般是完成具体的独立的功能
  2. 为什么要使用函数:
    代码的复用最大化以及最小化冗余代码,整体代码结构清晰,问题局部化
  3. 函数定义:
    def 函数名():
    函数体[一系列的python语句,表示独立的功能]
  4. 函数的调用:
    本质上就是去执行函数定义里面的代码块,在调用函数之前 必须先定义

一、函数基础

1. 函数参数

  1. ​必选参数​
  2. ​默认参数​​【缺省参数】
  3. ​可变参数​​​ 当参数的个数不确定时使用,比较灵活 , 可变参数 传入到 方法内 为 元组类型
    定义: def getComputer(*args)
  4. ​关键字可变参数​​​ 关键字参数是一个 字典类型, key是一个字符串
    def keyFunc(**kwargs):

注意: 可变参数 必须放到 关键字可选参数 之前

2. 函数返回值

​概念​​​:函数执行完以后会返回一个对象,如果在函数的内部有return 就可以返回实际的值,否则返回None
​​​类型​​​:可以返回任意类型,返回值类型应该取决于return后面的类型
​​​用途​​:给调用方返回数据

在一个函数体内可以出现多个return值:但是肯定只能返回一个return
如果在一个函数体内 执行了return,意味着函数就执行完成退出了,return后面的代码语句将不会执行

3. 函数嵌套

函数的分类:根据函数的返回值和函数的参数

  1. 有参数无返回值的
  2. 有参数又返回值的
  3. 无参数又返回值的
  4. 无参数无返回值的

二、homework 作业

  1. 作业一、写函数,接收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))
  1. 作业二、写函数,找出传入的 列表或元组 的 奇数位对应的元素 ,并返回一个新的列表
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))
  1. 作业三、写函数,检查传入字典的每一个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.局部变量

  1. ​局部变量​​ 就是在函数内部定义的变量【作用域仅仅局限在函数的内部】
  2. 函数内部的变量名如果第一次出现,且出现在‘=’前面,即被视为该函数定义了一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量。
  3. 不同的函数 可以定义相同的局部变量,但是各自用各自的 不会产生影响
  4. ​局部变量的作用​​:为了临时的保存数据 需要在函数中定义来进行存储

2. 全局变量

特点:

  1. ​全局变量​​:如果一个变量可以在函数内部调用,也可以在函数外部调用。
  2. 全局变量能在函数内部访问,也可以在外部访问,但函数内部不能修改全局变量。
  3. 全局变量与局部变量重复,局部变量不会影响全局变量,函数使用局部变量。

总结:

  1. 注意:当全局变量和局部变量出现重复定义的时候,程序会优先执行使用函数内部定义的变量【地头蛇】
  2. 如果在函数的内部要想对全局变量进行修改的话 对于不可变类型【str、元组、num】 必须使用 global 关键字进行声明
  3. 可变类型的全局变量,可以不用global声明。

四、引用

在python中,值是靠引用来传递来的,可以用id()查看一个对象的引用是否相同,id是值保存在内存中那块内存地址的标识。

ch07_引用.py

五、匿名函数 lambda表达式

1. lambda 表达式

  1. python中使用 lambda 关键字创建匿名函数,所谓匿名即这个函数没有名字不用def关键字创建标准的函数。
  2. 语法: 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. 数学运算

  1. abs()
    描述: abs() 函数返回数字的绝对值
    语法: abs( x )
    参数: x – 数值表达式
    返回值: 函数返回x(数字)的绝对值
  2. round()
    描述: round() 方法对 ​​浮点数进行近似取值,保留几位小数​​ 语法: round( x [, n] )
    参数:
    x – 数值表达式
    n – 数值表达式
    返回值: 返回浮点数x的近似值
    ​注意​​:这里不完全是按照四舍五入或者四舍六入五成双来进行取值的,取值和python的版本有关,还和浮点数的精度有关
  3. pow()
    描述: pow()方法返回

    标签:返回,函数,Python,语法,参数,返回值,表达式,lambda
    From: https://blog.51cto.com/u_15926676/5981031

相关文章

  • Python学习六:面向对象编程(上)
    文章目录​​前言​​​​一、面向对象编程:​​​​1.oop[objectorientedprogramming]是一种python的编程思路​​​​2.解释​​​​3.面向对象和面向对象编程​​......
  • Python学习八:面向对象编程(下):异常、私有等
    文章目录​​前言​​​​一、私有化属性​​​​1.引入私有化属性​​​​2.语法(定义)​​​​3.私有属性的特性​​​​4.使用的场景​​​​5.最后小结​​​​二、......
  • Python学习七:面向对象编程(中)
    文章目录​​前言​​​​一、析构函数​​​​二、对象三大特征​​​​1.封装​​​​2.继承​​​​3.多继承的问题​​​​4.重写父类方法​​​​5.调用父类方法......
  • Python学习九:file操作
    文章目录​​前言​​​​一、文件的操作​​​​1.文件操作一般步骤​​​​2.打开文件​​​​3.文件打开模式​​​​4.关闭文件​​​​5.with上下文管理​​​​......
  • Python中的__init__.py文件作用
    Python中的__init__.py文件作用创建的__init__.py文件都是空,今天看人源码,原来还可以这样玩。.├──a.py├──package│  ├──b.py│  ├──__init__......
  • Python__18--函数的定义与创建
    1函数的定义执行特定任务以完成特定功能的一段代码特点:复用代码隐藏细节提高可维护性提高可读性便于调试2函数的创建def函数名([输入参数]):函数体return......
  • python-selenium4使用-1、安装与浏览器配置
    环境Python3.9.13浏览器chromeselenium4.4.3问题在一个自动化脚本的运行下,环境是非常重要的,因此我们在不同电脑运行脚本时,就会遇到驱动不一致导致脚本无......
  • python manage.py loaddata dumpdata 用于导出和导入数据库中的数据
    1.数据导出python manage.py dumpdata pythonmanage.pydumpdata[appname]>appname_data.json 指定appnamde导出指定app的数据(比如appname为cmdb)......
  • pycharm 远程连接Linux,进行python开发
    目前,pycharm是非常受欢迎的编写、调试python的IDE,那么为了方便我们在本地调试远程服务器中的代码,我们可以在pycharm中进行SSH与SFTP的连接,来进行远程服务器的文件添加、修......
  • Python 实现Tracert追踪TTL值
    Tracert命令跟踪路由原理是IP路由每经过一个路由节点TTL值会减一,假设TTL值=0时数据包还没有到达目标主机,那么该路由则会回复给目标主机一个数据包不可达,由此我们就可以获取......