多测师肖sir_高级金牌讲师_python之函数007

news2025/4/26 5:23:33

python之函数

一、什么是函数
(1)定义:函数是组织好的,可重复使用的,用来实现单一,或相关联功能 的代码段。
(2)python的结构,(函数写在.py文件下)
在这里插入图片描述
在这里插入图片描述

(3)函数的优点:
1、降低代码冗余
2、增加代码的复用性,提高开发效率
3、提高程序拓展性
4、函数有两个阶段:定义阶段,调用阶段
定义时:只检查函数体内代码语法,不执行函数体内代码
调用方便
5、封装:就是把代码片段放在函数当中

二、函数的使用

1、自定义函数
自定义函数:自己根据业务需求自己封装的函数

2、如何定义一个函数(自定义函数)
1、可以使用def关键字来创建Python自定义函数,
格式:
def 函数名(参数列表)
函数体
函数名() #调用函数
案例1:
def func():
print(“1”)
def func2():
print(2)
def func3():
print(3)
def func4():
print(4)
备注: def 函数名()英文括号 :
tab 就是4小格
函数体
函数名() #调用函数

在这里插入图片描述

2、函数的调用有三种方法:
主函数的解释: 解释: if name == ‘main’: 是函数的入口,也称为主函数 name 是当前模块名,当模块被直接运行时模块名为 main ,这句话的 意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时, 代码块不被运行

(1)在本模块直接调用
函数名()
在这里插入图片描述
(2)main的调用方法
if name == ‘main’:
main底下不能为空
用pass来占位
在这里插入图片描述

(3)不同模块的调用函数
ss文件:

def a():
print(“杭州多测师”)
print(“上海多测师”)
def b():
print(“深圳多测师”)
print(“广州多测师”)
def c():
print(“武汉多测师”)
print(“成都多测师”)
cc文件:
from hz1201.ss import *

a()
在这里插入图片描述
(3)
ss文件
在这里插入图片描述
cc文件
在这里插入图片描述
案例:
在这里插入图片描述
在这里插入图片描述

===============
三、函数中的参数

(1)函数中无参数

(2)函数中有单个参数
def ss(a):
print(a)
ss(2)
在这里插入图片描述

(3)函数中有多个参数
def ss(a,b):
print(a+b)
ss(1,2)
在这里插入图片描述

(4)函数定义时带上默认参数(缺省参数)
def ss(a,b=1):
print(a+b)
ss(2,2)
在这里插入图片描述
注意:
传入参数优先级要高于默认参数

(4)可变长参数中的可变长元组 ""表示的是可变长元组(
def ss(*a):
print(a)
ss(2,2,3,4,6,7) #结果(2, 2, 3, 4, 6, 7)
在这里插入图片描述

(5)当普通参数和可变长元组在一起,普通参数在前,可变长元组在后
def ss(b,*a):
print(b,a)
ss(“a”,2,2,3,4,6,7)
在这里插入图片描述

(6)可变长参数中的可变长字典 ""表示的是可变长字典(
(1)传可变长字典
def ss(**a):
print(a)
ss(name=“cy”,age=18,sex=“男”)
在这里插入图片描述

(2)可变长字典和普通参数
def func(a,**dict):
print(a)
print(dict)
func(‘ss’,name=‘zs’,age=“18”)

在这里插入图片描述

(3)可变长字典和可变长元组
def ss(*b,**a):
print(b)
print(a)
ss(1,2,3,4,name=“cy”,age=18,sex=“男”)
在这里插入图片描述

(4)普通参数和可变长字典和可变长元组
def func(a,*b,**dict):
print(a)
print(b)
print(dict)
func(‘ss’,1,2,3,name=‘zs’,age=“18”)
在这里插入图片描述
直接调用变量(列表,元组,字典)
list=[1,2,3,4]
tuple=(5,6,7,8)
dict={“name”:‘zs’,‘age’:‘18’}
def func(a):
print(a)
func(list)
func(tuple)
func(dict)
在这里插入图片描述

===============
四、函数的变量和作用域
全局变量:函数的变量和作用域
局部变量:在函数中也可以定义变量,在函数中定义的变量被称之为局部变量,局部变量 只在定义它的函数内部有效
案例1:
m=10 #全局变量
def s():
m=100 # 局部变量
print(m)
s()
def q():
print(m)
q()

案例2:
global 将局部变量设置成全局变量,
global 全局变量优先级高于 直接定义的全局变量
m=10 #全局变量
def s():
global m
m=100 # 局部变量
print(m)
s()
def q():
print(m)
q()

=====================
五、函数的返回值
Python中,用 def 语句创建函数时,可以用 return 语句指定应该返回的值, 该返回值可以是任意类型。需要注意的是,return 语句在同一函数中可以出 现多次,但只要有一个得到执行,就会直接结束函数的执行。 函数中,使用 return 语句的语法格式如下: return [返回值] 其中,返回值参数可以指定,也可以省略不写(将返回空值 None)

返回值的作用
1、在程序开发中,有时候会希望一个函数执行程序结束后,告诉 调用者一个结果,以便调用者针对具体的结果做后续的处理。
2、返回值是函数完成工作后,最后给到调用者的一个结果。
3、在函数中使用return关键字可以返回结果。
4、调用函数的一方可以使用变量来接收函数的返回结果
案例:
m=10 #全局变量
def s():
m=100 # 局部变量
return m #返回值
s()
def q():
n=s() #用一个变量来接收返回值
n*=2
print(n)
q()

===============================
python内置函数在这里插入图片描述
1、format函数
format()函数是一种格式化字符串的函数 ,该函数增强了字符串格式化的功能。
基本语法:是通过 {} 来代替以前的 %
(1)不设置指定位置,按默认顺序
案例1:
hz=“{}”.format(“dcs”,“huawei”)
print(hz)
案例2:
hz1=“{}{}”.format(“dcs”,“huawei”)
print(hz1)

2、设置指定索引位置输出 备注:索引从0开始,
案例1:
hz=“{1}”.format(“dcs”,“huawei”)
print(hz)

3、设置参数输出

案例21:
a=“姓名:{name},年龄:{age}”.format(name=“duoceshi”,age=18)
print(a)

4、对列表进行格式化
案例1:
list4=[“dcs”,“hz”]
print(“公司:{0[0]},地址:{0[1]”.format(list4))

案例2:
list4=[“dcs”,“hz”] #列表的索引0
list5=[“1”,“2”] ##列表的索引1
list6=[“3”,“4”] ##列表的索引2
print(“公司:{2[0]},地址:{1[1]}”.format(list4,list5,list6))
备注:大括号里面的0代表的是列表、中括号里面的0和1是列表元素对应的索引位

5、对字典进行格式化 "**"表示可变长字典
案例1:
s={“name”:“dcs”,“wb”:“huawei”}
hz1=(‘公司名称:{name},外包公司:{wb}’.format(**s))
print(hz1)

============================
(2)zip函数
定义:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成 一个个元组,然后返回由这些元组组成的列表,如果各个迭代器的元素个 数不一致,则返回列表长度与最短的对象相同。
(1)zip压缩
案例1:(将两个列表装换成字典)
list4=[“dcs”,“hz”] #列表的索引0
list5=[“1”,“2”,“3”,“4”] ##列表的索引1
c=zip(list4,list5)
print(type©) #<class ‘zip’>
print© #<zip object at 0x00000284AF8905C8> zip对象
s=dict©
print(s)
案例2:(将两个列表装换成元组)
list4=[“dcs”,“hz”] #列表的索引0
list5=[“1”,“2”,“3”,“4”] ##列表的索引1
c=zip(list4,list5)
print(type©) #<class ‘zip’>
print© #<zip object at 0x00000284AF8905C8> zip对象
s=tuple©
print(s)
案例2:(将两个列表装换成列表)
list4=[“dcs”,“hz”] #列表的索引0
list5=[“1”,“2”,“3”,“4”] ##列表的索引1
c=zip(list4,list5)
print(type©) #<class ‘zip’>
print© #<zip object at 0x00000284AF8905C8> zip对象
s=list©
print(s)

(2)解压
zip(*)
案例1:先压缩在解压
list4=[“dcs”,“hz”] #列表的索引0
list5=[“1”,“2”,“3”,“4”] ##列表的索引1
m,n=zip(*zip(list5,list4))
print(m)
print(n)

============================

3、open函数

open函数用于打开一个文就拿,创建一个file对象
语法:语法:open(file, mode),模式有
r(只读),
w(写入覆盖),
a(写入追加)

  • 表示 可以同时读写某个文件
    r+ 可读写文件
    w+ 写读
    a+ 同a

在这里插入图片描述
案例1:(read读取文件所有内容)
案例
url=r"C:\Users\Administrator\PycharmProjects\dcshz12\hz1201\cc.py"
f=open(url,“r”,encoding=“utf-8”)
print(f.read()) #读取文件中所有的内容
案例2:(readline读取文件第一行)
url=r"C:\Users\Administrator\PycharmProjects\dcshz12\hz1201\cc.py"
f=open(url,“r”,encoding=“utf-8”)
print(f.readline()) #读取文件中所有的内容
案例3:readlines读取文件中所有的内容,并返回列表的格式
url=r"C:\Users\Administrator\PycharmProjects\dcshz12\hz1201\cc.py"
f=open(url,“r”,encoding=“utf-8”)
print(f.readlines())
案例4:读取本地文件
url=“D:\dcs\hz.txt”
f=open(url,“r”)
print(f.read())

二、写 w
案例:写的模式:w(写入覆盖)
url=“D:\dcs\多测师\hz.txt”
f=open(url,“w”)
f.write(“hhh,kkk”)
f.close()

三、追加a
案例:追加的模式:a(写入追加)
url=“D:\dcs\多测师\hz.txt”
f=open(url,“a”)
f.write(“2222,1111”)
f.close()

四、with open
备注:用with语句的好处,就是到达语句末尾时,会自动关闭文件,即便出现异常
案例:
url=“D:\dcs\多测师\hz.txt”
with open(url,“r”) as f:
a=f.read()
print(a)

=======================
拓展:
1、long 函数在python3中已删除
long 将数字或字符转换成一个长整型
2、len
返回一个内容的长度
语法:len(内容)
内容:字符串,列表,字典,元组等
案例1:计算字符串
a=“abcdef”
print(len(a)) #6
案例2:计算列表
b=[1,2,3]
print(len(b)) #3
案例3:计算字典
c={“nmae”:“a”,“sex”:“男”}
print(len©) #2
案例4:计算元组
d=(“a”,“b”,“c”)
print(len(d)) #3

3、abs 绝对值
案例:
f=-1
print(abs(f))
4、sum求和
案例:求出1-100的和
print(sum(range(1,101))),
5、id 函数返回对象唯一标识,标识的是一个整数
案例
a=“1”
print(id(a)) #2949785794072

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1090968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Idea执行Pom.xml导入jar包提示sun.misc.BASE64Encoder jar找不到---SpringCloud工作笔记197

奇怪之前都是好好的,这个是因为,jdk的版本不对,重新打开以后自动被选择成jdk11了...记录一下 原因是从jdk9的时候,这个jar包已经被删除了,所以会报错,如果你用的是jdk自带的这个jar包就会报错,那么还可以,修改,不让他用jdk的,让他用 用org.apache.commons.codec.binary.Base64…

如何处理前端异步操作(Promises、async/await等)?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

JWT - 令牌认证授权(认证流程、认证原理、Jwt 工具类)

目录 一、JWT 认证 1.1、对 JWT 的认识 1.1.1、JWT 解释 1.1.2、为什么使用的 JWT 认证&#xff0c;而不是 Session 认证&#xff1f; a&#xff09;基于传统的 Session 认证 1.1.3、JWT 认证流程 1.1.4、优势 1.1.5、JWT 的结构 JWT 第一部分&#xff1a;标头 Header …

python+django高校体育乒乓球场地预约管理系统_s2409

本系统提供给管理员对首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;乒乓球场管理,场地类型管理,场地预约管理,暂离申请管理,离开申请管理,管理员管理,留言反馈,系统管理等诸多功能进行管理。本系统对于用户输入的任何信息都进行了一定的验证&#xff0c;为管理员操…

Altium Designer实用系列(四)----Ultra Librarian 下载芯片原理图库及封装并导入AD

一、 原理图库的下载 本篇博客讲解的方法适合特殊封装的芯片&#xff0c;如果是普通封装&#xff0c;直接使用现成的库即可。本篇博客以TI的芯片MCT831举例&#xff1a;    首先是去TI官网找到该芯片的详细页面&#xff1a; 然后在“设计和开发”页面中找到CAD/CAE符号&…

2023年中国玉米深加工产能、市场规模、消费量及产品需求结构[图]

玉米深加工顾名思义就是将产业链延长,进而提升产品附加值,利用玉米提炼出酒精、玉米胚芽油、淀粉和饲料等大概两百余种玉米深加工产品。我国是玉米种植大国&#xff0c;也是玉米深加工大国&#xff0c;但是玉米加工行业却长时间处于产能过剩、开工率不足、利润率低下的境况&…

兄弟MFC-7480D打印机墨粉清零方法(图解)

兄弟MFC-7480D更换新的墨粉盒或者加墨粉后还是提示更换墨粉盒&#xff0c;这个时候就需要进行清零处理了&#xff0c;现将清零的小方法分享给大家&#xff0c;希望能够帮助到大家&#xff1b; 具体清零方法如下&#xff1a; 1、首先打开打印机前盖&#xff0c;按住【OK】键3秒左…

Ubuntu - 连接 ssh 网络错误

0、问题 1、解决 1.1 可能问题&#xff1a;网络问题(是否 ping 通) Ubuntu有网 1.2、可能问题&#xff1a;SSH 服务未运行 列出当前正在监听的网络连接 ss -tln可见没有22端口被监听&#xff0c;那应该就是没有运行 SSH 服务 1.2.1、确保 OpenSSH Server 已安装 大多数…

opencv图形绘制2

目录 制作宣传语&#xff08;中文&#xff09; 制作宣传语&#xff08;英文&#xff09; 绘制标记 鼠标交互绘制十字线 鼠标交互绘制图形 鼠标交互制作几何画板 滚动条控制 制作宣传语&#xff08;中文&#xff09; import cv2 import numpy as np from PIL import Image…

pytest+allure生成测试报告

pytest框架使用 一、安装插件 #常用安装插件 pytest pytest-html &#xff08;生成html格式的自动化测试报告&#xff09; pytest-xdist &#xff08;测试用例分布式执行&#xff0c;多cpu分发&#xff09; pytest-ordering&#xff08;用于改变测试用例的执行顺序&#xff0…

有趣的 scanf()

限制接收内容 这里的意思是直接收a、b、c作为ch的内容&#xff0c;遇到其它字符放入缓冲区中。 【scanf("%[...]",ch);只接收[]中的内容作为字符串的内容,将其它的内容放入缓冲区中】 这里将aaa后面的h放入缓冲区&#xff0c;但是没有抛弃掉&#xff0c;故而无法接收…

实现手机号码中间四位显示为*号方法

实现手机号码中间四位显示为*号方法&#xff1a; substring使用方法&#xff1a; 开始位置&#xff0c;结束位置&#xff08;不包括结束&#xff09; 下面的示例就是 截取0到3不包含3&#xff0c;中间4个*&#xff0c;从第7开始截取到最后 // 转换用户手机号let telephone t…

GPU -- 图形处理器(显卡)

目录 GPUGPU 的主要信息和功能显存位宽接口v-sync散热 GPU 显卡&#xff08;Graphics Processing Unit&#xff0c;GPU&#xff09;是计算机中的一种专门用于处理图形和图像相关任务的硬件设备。它是计算机图形和图像处理的关键组成部分&#xff0c;通常用于加速图形渲染、视频…

手把手教你基于windows系统使用GNVM进行node切换版本

GNVM是什么&#xff1f; GNVM 是一个简单的 Windows 下 Node.js 多版本管理器&#xff0c;类似的 nvm nvmw nodist 。 安装 进入官网&#xff0c;下载你所需要的包&#xff0c;直达链接 下载完成 放到我们的node环境包下&#xff0c;点击运行 请注意区分: 不存在 Node.js 环…

创意营销:初期推广的多种策略!

文章目录 &#x1f34a; 预热&#x1f389; 制定预热计划和目标&#x1f389; 利用社交媒体传播&#x1f389; 创造独特的体验&#x1f389; 利用口碑营销&#x1f389; 定期发布更新信息&#x1f389; 案例说明 &#x1f34a; 小范围推广&#x1f389; 明确目标用户群体&#…

[C++随想录] 继承

继承 继承的引言基类和子类的赋值转换继承中的作用域派生类中的默认成员函数继承与友元继承与静态成员多继承的结构棱形继承的结构棱形虚拟继承的结构继承与组合 继承的引言 概念 继承(inheritance)机制是面向对象程序设计使代码可以 复用的最重要的手段&#xff0c;它允许程序…

反弹Shell方法论

反弹Shell方法论 1.bash反弹shell2.Python 脚本反弹shell3.php反弹shell4.Java反弹shell5.perl 反弹shell6.Ruby脚本反弹shell7.利用nc反弹shell8.powershell反弹shell9.Socat反弹shell10.使用OpenSSL反弹加密shell11.反弹shell的本质 反弹shell命令查询 如果可以&#xff0c;尽…

2023年中国玉米淀粉糖市场现状及行业需求前景分析[图]

玉米淀粉糖是一种优良的可生物降解的天然高分子材料&#xff0c;也是近年来发展最快的淀粉深加工产品&#xff0c;淀粉糖是利用含淀粉质的农产品为原料&#xff0c;经过酸法、酸酶法或者双酶法水解制取的糖的统称&#xff0c;玉米淀粉糖的产品形式多种多样&#xff0c;目前&…

智能警用装备管理系统-科技赋能警务

警用物资装备管理系统&#xff08;智装备DW-S304&#xff09;是依托互云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对警用装备进行统一管理、分析的信息化、智能化、规范化的系统。 &#xff08;1&#xff09;感知智能化 装备感知是整个方案的基础&#xff0c;本方…

python基于django的留学生服务管理平台

留学服务管理平台的用户是系统最根本使用者&#xff0c;按需要分析系统包括三类用户&#xff1a;学生、教师、管理员。这三类用户对系统的需求简要如下。技术栈 后端&#xff1a;pythondjango 前端&#xff1a;vueCSSJavaScriptjQueryelementui 开发语言&#xff1a;Python 框架…