当前位置: 首页 > news >正文

python之函数

python之函数
一、函数
1、定义:函数组织好的,可重复使用,用来实现单一,或者功能的代码片段
2、项目、目录或包、模块(py文件)、函数
3、函数的优点:
a、降低代码的冗余
b、增加代码的复用性,提高开发效率
c、提高程序的拓展性
d、封装
4、自定义函数
格式:
def 函数名(变量名):
函数体
函数名() 调用函数
案例:
def hs():
print(1)
hs()
5、函数调用方法
三种:
第一种:直接在本模块调用
def hs():
print(1)
hs()
第二种:main方法 ,叫主函数调用
def hs():
print(1)
if name == 'main': 当前模块运行,导被导入不被运行
hs()
第三种调用方法:
跨模块调用函数
案例:
aa文件:
def hs():
print("a")
def hsb():
print("b")
hs()
hsb()
if name == 'main':
hs()
hsb()

bb文件:
from bao.aa import * from 项目名.包名.模块 import * * 所有
hs()

6、函数中的参数
案例:
def hsw():
print("无参数")
def hs(a): # 单个参数
print(a+1) #
def hsb(x,y): #有多个参数
print(x+y)
def hsmr(x,y=6): #参数中带有默认参数
print(x+y)
def kbc(x): #可变长参数
print(x)
def kp(y,
x): #可变长参数+普通参数
print(y)
print(x)
def zd(d):#可变长字典
print(d)
def qb(x,*y,
m):
print(x)
print(y)
print(m)
if name == 'main':
hsw()
hs(1)
hsb(2,3)
hsmr(8,2)
kbc(1,2,3,4,5,6,7,8)
kp(123,43,4,2)
# zd(name="zs",age="ls") #{'name': 'zs', 'age': 'ls'}
dict={"name":"ls","age":12,"fs":80}
# zd(dict)
qb(1,2,3,4,5,6,7,
dict)

7、函数变量
(1)局部变量:在函数体中定义的变量,被成为局部变量
(2)全局变量:在函数内外都可以引用
(3)通过globla将变量设置成全局变量(globla全部变量要大于函数外的全局变量)
案例:
a=100 #全局变量
def hs():

a=200 #局部变量
print(a)

def hs2():
print(a)
hs() #200
hs2() #100
案例1:
a=100 #全局变量
def hs():
global a
a=200 #局部变量
print(a)
def hs2():
print(a)
hs() #200
hs2() #100

8、return函数 返回值
案例:
def hs():
x=9+1
return x
def hs2(b):
js=hs()
print(js+b)
hs2(3)

作业:
返回值实战练习
需求:登录银行系统并显示余额,有两个功能第一个是登录,第二个是登录
后显示余额,先登录然后根据登录是否成功然后是否显示余额。
分析思路:如果想查询到余额,前提必须登录,所以现在我们用两个函数来
处理,第一个函数实现登录,第二个函数实现余额查询,调用第一个函数得
到的结果给第二个函数,然后第二个函数根据结果进行代码处理。

9、内置函数
(1)format
函数是一种格式化字符串的函数 ,该函数增强了字符串格式化的功能。
基本语法:是通过 {} 来代替以前的 %
1、
a="{}{}".format("a","b") #不设置指定位置,按默认顺序
print(a)
2、
a="{2}{1}".format("a","b","c") #设置指定索引位置输出

print(a)

3、
a="姓名:{name},年龄{age}".format(name="a",age=19) #设置参数输出
print(a)
4、
对列表进行格式化
案例:
a=['多测师','www.duoceshi.com']
b=['百度','www.baidu.com']
print("公司名称:{0[0]} ,网站:{1[1]}".format(a,b))

5、对字典进行格式化 ""表示可变长字典
案例:
a={"name":"多测师","url":"www.duoceshi.com"}
print("公司名称:{name}, 网站{url}".format(
a))

(2)zip 压缩包
a、压缩
a=['name','url',"aa"]
b=['duoceshi','www.duoceshi.cn']
c=zip(a,b) #<class 'zip'>
print(type(c))

print(dict(c))

print(list(c))

print(tuple(c))
b、反解(zip)
a=['name','url',"aa"]
b=['duoceshi','www.duoceshi.cn']
m,n=zip(
zip(a,b))
print(m)
print(n)

(3)open函数
open() 函数用于打开一个文件,创建一个 file 对象
语法:open(file, mode),模式有r(只读),w(写入覆盖),a(写入追加)
url="C:\Users\Administrator\PycharmProjects\untitled\bao\aa.py"
注意:路径前+r,或者反斜杠
使用opn函数

r 读
案例:
url=r"C:\Users\Administrator\PycharmProjects\untitled\bao\aa.py"
url1=r"E:\az\ck\mm"
wj=open(url1,"r",encoding="utf-8")
print(wj.read())

print(wj.read()) #读取的内容所有,返回的是字符类型

print(wj.readline()) #取的内容一行

print(wj.readlines()) #读取的内容所有,返回的是列表的类型

w 写
url=r"C:\Users\Administrator\PycharmProjects\untitled\bao\aa.py"
url1=r"E:\az\ck\mm"
wj=open(url1,"w",encoding="utf-8")
print(wj.write("dcs"))
a 追加
url=r"C:\Users\Administrator\PycharmProjects\untitled\bao\aa.py"
url1=r"E:\az\ck\mm"
wj=open(url1,"a",encoding="utf-8")
print(wj.write("hjkj\nzhuijia"))

(4) with open
a
url=r"C:\Users\Administrator\PycharmProjects\untitled\bao\aa.py"
url1=r"E:\az\ck\mm"
with open(url1) as f:
# print(f.read())
# print(f.readlines())
print(f.readline())

拓展:

a=-1
print(abs(a)) #1 绝对值
list1=[1,2,3,6,9]
print(max(list1)) #9 最大数
print(min(list1)) #1 最小数
print(sum(list1)) #求和
print(sum(range(1,101))) #5050
print(len(list1)) #5 计算长度
print(id(list1)) #返回对象唯一表示
print(help(open)) #查看函数模块用途的详细说明
print(float(12)) #12.0 浮点数
print(bin(3)) #0b11 将整数转换成二进制

http://www.hskmm.com/?act=detail&tid=32075

相关文章:

  • 剑指offer-35、数组中的逆序对
  • 2025 年最新推荐!西宁种植牙医院推荐榜单:助您精准选靠谱口腔机构
  • 2025 年太阳能厂家最新推荐:全场景系统企业综合实力榜,含热水 / 发电 / 光伏热等领域优质品牌测评
  • 苦逼,通宵肝了两个月!测试开发导航网站终于上线了!
  • 鸿蒙应用开发从入门到实战(二十三):一文搞懂ArkUI弹性布局
  • 2025 金属复合板厂家最新推荐排行榜:实力厂家产能定制服务全景解析,选购指南必备
  • CCPC2024成都 游记(VP) 未完成以及一些找补的话
  • CF1439C Greedy Shopping
  • 完整教程:AI应用生成平台:数据库、缓存与存储
  • CCPC2022绵阳 游记(VP)
  • 2025 年电缆桥架生产厂家最新推荐排行榜:含北方 / 河北 / 瓦楞 / 防火 / 模压 / 镀锌桥架品牌及合作案例盘点
  • 2025 年胰岛素泵厂家最新推荐排行榜:国产实力厂家技术、口碑及全场景适配方案全景解析软针植入/平衡式留置针/无异物感胰岛素泵厂家推荐
  • 2025 年国内磨床厂家最新推荐榜:聚焦平面磨床外圆磨床等品类,助力企业精准选优质设备
  • 2025 年加工中心厂家最新推荐榜:覆盖立式、卧式、龙门及 850 等多规格设备,帮采购方高效选实力厂商
  • 进程的内存管理
  • 深入理解Java内存模型与volatile关键字:从理论到实践
  • 完整教程:【stm32】cube固件解析和放入工程(HAL_F4)
  • 312、金缕衣
  • 使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网
  • 反配容斥
  • 怎么激活win11?笔记本重装系统后怎么激活Windows?
  • AVG Clear:彻底卸载AVG产品的专业工具
  • 现代 PHP8+ 实战特性介绍 Enums、Fibers 和 Attributes
  • php 1026
  • 用【WPF+Dlib68】实现 侧脸 眼镜虚拟佩戴 - 用平面图表现空间视觉 - 行人-
  • 科学背景如何赋能云计算业务战略
  • 【GitHub每日速递 251016】23k star,Daytona:90ms内极速运行AI代码,安全弹性基础设施来袭!
  • 用 【C# + Winform + Dlib68点】 实现静图眼镜虚拟佩戴 - 行人-
  • 图神经网络前沿技术与应用探索
  • MVCC、幻读、间隙锁与临键锁(三)