一、什么是函数
定义:函数是组织好,可重复使用,用来实现单一,或关联功能的代码段
二、pycharm中的表结构
项目 ,包(init)或目录,py文件,py文件包含多个函数或类等
三、函数的有哪些优点?
1、降低代码冗余
2、增加代码的复用性,提高开发效率
3、提高程序的拓展性
4、封装:就是把代码片段放在函数当中
二、函数的使用
1、自定义函数
2、内置函数
(1)、自定义函数
自己封装的函数
(2)、如何定义一个函数
def
格式:
def 函数名(参数): #定义函数
函数体
函数名( ) #调用函数
3、调用函数的方法:
(1)第一种:直接调用 函数名()
(2)第二种:mian方法
if name == 'main': 主函数调用
主函数的解释:
解释:
if name == 'main': 是函数的入口,也称为主函数
name 是当前模块名,当模块被直接运行时模块名为 main ,这句话的
意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,
代码块不被运行
(3)第三种:调用方法:跨模块调用 a 模块 ,b模块
from 项目名.包名.模块名 import (导入) * (*所有的函数)
函数中的参数:
1、函数体中无函数
def hz():
print("dcs")
print("hz")
hz()
2、函数中有单个参数
def hz(a):
print(a)
print(a+2)
hz(12)
3、函数中有多个参数
def hz(a,b,c):
print(a)
print(a+b)
print(a+b+c)
hz(1,2,3)
4、函数定义时带上默认参数
c=18 表示默认参数
def hz(a,b,c=18):
print(a)
print(a,b)
print(a,b,c)
hz(1,2)
5、可变长元组
可变长参数中可变长元组“” ;一个号
案例1:单独可变长元组使用
def hz(a):
print(a)
hz(1,2,3,4,5)
案例2:可变长元组使用和普通参数在一起,只能可变长元组在后,否则报错
def hz(b,a):
print(a)
print(b)
hz(1,2,3,4,5,8)
6、可变长字典
可变长字段用两个** 表示
案例1:单独传字典:
(1)def zd(**d):
print(d)
zd(name="zt",age="18")
(2)
def zd(d):
print(d)
d={"a":1,"b":2}
zd(d)
案例2:当可变字典和可变元组在一起,可变元组在前,可变字典在后
def zd(*y,d,):
print(y)
print(d)
d={"a":1,"b":2}
zd(111,2,d)
案例3:普通参数,可变长元组,可变长字典
def zd(p,*y,d,):
print(p)
print(y)
print(d)
d={"a":1,"b":2}
zd("a",111,2,d)
变量
函数汇总的变量和作用域
(1)全局变量:在函数内外都可以引用
(2)局部变量:在函数体中定义的变量被称为局部变量
(3)通过局部变量改成成全局变量
1、认识局部变量和全局变量
案例1:
a=10 #全局变量
def s():
a=100 #局部变量
print(a)
def c():
print(a)
if name == 'main':
s()
c()
备注:局部变量和全局变量在一起,局部变量优先级高于全局变量
2、将局部变量改为全局变量 global
a=10 #全局变量
def s():
global a #通过global 将局部变量改为全局变量
a=100 #局部变量
print(a)
def c():
print(a)
if name == 'main':
s()
c()
return 函数
返回值
(1)
Python中,用 def 语句创建函数时,可以用 return 语句指定应该返回的值,该返回值可以是任意类型。需要注意的是,return 语句在同一函数中可以出现多次,但只要有一个得到执行,就会直接结束函数的执行。函数中,使用 return 语句的语法格式如下:return [返回值]
其中,返回值参数可以指定,也可以省略不写(将返回空值 None)
(2)
1、在程序开发中,有时候会希望一个函数执行程序结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理。
2、返回值是函数完成工作后,最后给到调用者的一个结果。
3、在函数中使用return关键字可以返回结果。
4、调用函数的一方可以使用变量来接收函数的返回结果。
注意点:return后面的语句不执行
python内置函数
python内置函数也叫内建函数;python自带的函数
1、format
定义:format()函数是一种格式化字符串的函数 ,该函数增强了字符串格式化的功能。
基本语法:是通过 {} 来代替以前的 %
(1)不设置指定位置,按默认顺序
1.hz="{}".format("dcs","bank")
print(hz)
2
hz="{},{}".format("dcs","bank")
print(hz)
3\元组范围超出
hz="{}it{}{}".format("dcs","bank")
print(hz)
2、设置指定索引位置输出
hz="{0}it{0}".format("dcs","bank") 备注:索引从0开始
print(hz)
3、设置参数输出
a="姓名:{name},年龄:{age}".format(name="duoceshi",age=18)
print(a)
4、对列表进行格式化
a=[1,2,3] #0
b=[4,5,6] #1
print("中奖号码:{0[2]},兑奖号码:{1[1]}".format(a,b)) #a,b 表示两个列表排序
结果:中奖号码:3,兑奖号码:5
备注:
一个表默认0
两个表就是按0,1索引位表示
取值也是按括号内索引位来取值
大括号里面的0代表的是列表、中括号里面的0和1是列表元素对应的索引位
5、对字典进行格式化 ""表示可变长字典
a={"name":"多测师","url":"www.duoceshi.com","zj":"100w"}
b="网站名:{name}, 网站:{url},资金:{zj},品牌:{name}".format(a)
print(b)