函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数
函数规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号 : 起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None
函数格式
def 函数名(参数列表):
函数体
例
def num(a,b): # a,b 为形参,相当于定义变量名
result = a + b
print(result)
n = a * b
print(n)
u = a - b
print(u)
num(4,9) # 4,9为实参,传入真实的数据,相当于变量值
# 传参 将实参传递给形参的过程叫传参
输出结果
13
36
-5
函数调用
定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构
def func():
print("————请选择————")
print("余额")
print("存款")
print("取款")
# 遇到return,此函数结束,不会在执行后面的代码
# return 没有写或者没有写return,返回的结果是none(空值)
# return 写了值,会返回调用方这个值
# 如果return写了多个结果,返回给调用方一个tuple(元组),
return "还有2000"
print("789")
no = func()
print(no)
输出结果
————请选择————
余额
存款
取款
还有2000
位置参数
def eat(a,b,c):
print("拍照")
print("打开"+ a)
print("看" + b + str(c) + "照片")
# 系统会按照位置把实参赋值给形参
eat("手机","风景",2)
输出结果:
拍照
打开手机
看风景2照片
关键字传参
def a(b,c):
print(b,c)
a(c=2,b=1)
输出结果:
1 2
——————————————————————————
混合参数,位置参数必须在关键字参数前面,要不然会报错
def a(b,c):
print(b,c)
a(1,c=10)
输出结果:
1 10
默认值参数
def stu(name,age,sex="node"):
print("信息")
print(name,age,sex)
stu("蜡笔小新",4)
stu("蜡笔小新",4,"男")
输出结果:
信息
蜡笔小新 4 node
信息
蜡笔小新 4 男
动态接收位置参数
在参数位置用*表示接收任意参数
def eat(a,b,c,*d):
print(f"哈哈哈{a}{b}{c}{d}")
eat("蜡笔小新",4,"男","1","8","10")# 接收的结果是一个tuple元组
输出结果:
哈哈哈蜡笔小新4男('1', '8', '10')
动态接收关键字参数
只能接收位置参数无法接收的关键字 **
def func(**a):
print(a)
print(type(a))
func(x=489,n=1118,seifji=1)
输出结果:
{'x': 489, 'n': 1118, 'seifji': 1}
<class 'dict'> # 字典类型
接收所有参数
def func(*arge,**kwargs):
"""
描述当前函数作用
:param arge: 接收元组或者列表参数
:param kwargs: 接收字典参数
:return: 执行完这个函数之后想要返回给调用方什么
"""
print(arge,kwargs)
func(1,8,name="蜡笔小新",get=5,a="男")
help(func)
输出结果:
(1, 8) {'name': '蜡笔小新', 'get': 5, 'a': '男'}
Help on function func in module __main__:
func(*arge, **kwargs)
描述当前函数作用
:param arge: 接收元组或者列表参数
:param kwargs: 接收字典参数
:return: 执行完这个函数之后想要返回给调用方什么
作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在整段代码的任意位置使用,有些变量只能在函数内部使用,有些变量只能在 for 循环内部使用
Python中函数带括号和不带括号的区别
1、不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不需等该函数执行完成
2、带括号(此时必须传入需要的参数),调用的是函数的return结果,需要等待函数执行完成的结果
Python全局变量
除了在函数内部定义变量,Python 还允许在所有函数的外部定义变量,这样的变量称为全局变量(Global Variable)
和局部变量不同,全局变量的默认作用域是整个程序,即全局变量既可以在各个函数的外部使用,也可以在各函数内部使用
a = 10
def sum():
# a = 10
# 变量a是定义在sum函数内部的变量,局部变量
print(a)
sum()
输出结果:
10
Python局部变量
在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能使用了,我们将这样的变量称为局部变量(Local Variable)
a = 10
def A():
print(a)
def B():
print(a)
def C():
# 定义一个a的局部变量
# 修改全局变量,global声明全局变量的关键字
global a
a = 200
print(a)
A()
B()
C()
print(f"全局变量a = {a}")
输出结果:
10
10
200
全局变量a = 200
多函数嵌套
def dcmo1():
return 50,10,20
def dcmo2(num):
print(num)
result = dcmo1()
print(dcmo1())
dcmo2(result)
输出结果:
(50, 10, 20)
(50, 10, 20)
字符串常用方法
1、查询方法
1.1、find 查询单个字符串,从左往右,找到谁返回谁,返回下标位置;如果查询的值不存在返回 -1
string = "welcome to beijing"
print(string.find("e"))
print(string[8])
输出结果:
1
t
1.2index() 查询单个字符串,从左往右,找到谁返回谁,返回下标位置;如果查询的值不存在会报错
print(string.index("t"))
输出结果:
8
1.3count 返回值在字符串中出现的次数; 如果不存在,意味着没有出现返回0
print(string.count('e'))
print(string.count('1'))
输出结果:
3
0
例:
string = "welcome to beijing"
for i in string:
data = i.count("e")
if data == 1:
print(f"找到了{i}")
输出结果:
找到了e
找到了e
找到了e
2、替换方法
replace 把字符串中的某些字符串进行替换,可以指定替换的次数
# replace("旧数据","新数据")
string = "welcome 哈哈哈,123"
value = string.replace("哈哈哈","***")
print(value)
输出结果:
welcome ***,123
例:
name = "123"
video_file_naem = "海绵宝宝与派大星"
new_file_name = video_file_naem.replace("海绵宝宝",name)
final_file_name = new_file_name.replace("派大星","二傻子")
print(final_file_name)
输出结果:
123与二傻子
2.1屏蔽
content = input("评论:")
content = content.replace("c","*")
content = content.replace("草泥马","***")
print(content)
输出结果:
评论:c789草泥马
*789***
3、字符串分隔符
data = "1|2|3|我是货拉拉"
a = data.split("|")
print(a)
输出结果:
['1', '2', '3', '我是货拉拉']
例:
c = input("请输入整数:")
result = c.split("+")
print(int(result[0])+int(result[1]))
输出结果:
请输入整数:11+8
19
例:
string = "welcome to beijing"
# 所有英文字符小写
a = string.lower()
# capitalize 把字符串的第一个字符串大写
b = string.capitalize()
# 把所有英文字符串大写 lower
c = string.upper()
# 单词开头大写
d = string.title()
print(a)
print(c)
print(b)
print(d)
输出结果:
welcome to beijing
WELCOME TO BEIJING
Welcome to beijing
Welcome To Beijing
例:
# 验证码
code = input("验证码:")
data = code.upper() #英文字符串大写
# data = code.lower() #所有英文字符小写
if data == "FB89":
print("正确")
else:
print("错误")
输出结果:
验证码:FB89
正确
6724

被折叠的 条评论
为什么被折叠?



