函数
函数的定义
1.定义:
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
2.语法
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表):
函数体
3.规则:
可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
- 函数体内容不可为空,可用 pass 来表示空语句
(pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。)
3.语法
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表):
函数体
(函数通常使用三个单引号 ‘’’…’’’ 来注释说明函数)
def fun(): #定义空函数
pass
def volume(long,wide,high):
'''计算体积'''
print('体积为:',long*wide*high)
volume(1,2,3)
函数参数与作用域
参数
1.默认参数
调用函数时,如果没有传递参数,则会使用默认参数。
def num(x, n=2,m=2):#把n,m设为默认参数
s=1
while n > 0:
n = n - 1
s = (s * x) + m
return s
num(2)
#输出结果
10
num(2,3)#提供默认参数n=3
#输出结果
23
#当不按顺序提供部分默认参数时,需要把参数名写上
num(2,m=3)
#输出结果
13
2.可变参数
定义可变参数,仅仅在参数前面加了一个*号,允许你传入0个或任意个参数
3.关键字参数
关键字参数允许你传入0个或任意个含参数名的参数
作用域
- 一个标识符的可见范围,这就是标识符的作用域。一般常说的是变量的作用域
- 全局作用域
- 在整个程序运行环境中都可见
- 局部作用域
- 在函数、类等内部可见
- 局部变量使用范围不能超过其所在的局部作用域
def outer():
o = 65
def inner():
o = 97
print('inner {}'.format(o))
print(chr(o))
print("outer {}".format(o))
print(chr(o))
inner()
print(chr(o))
outer()
#输出结果
outer 65
A
inner 97
a
A
函数返回值
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
作业
实现random.sample方法
实现Max方法
实现判断两个字符串是否相等的方法
1.random.sample方法
random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列,如果k大于sequence的长度,则弹出ValueError异常。
import random
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = random.sample(list, 5) # 从list中随机获取5个元素,作为一个片断返回
print(a)
print(list)
#输出结果
[3, 2, 9, 7, 6]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2.实现Max方法
max() 方法返回给定参数的最大值,参数可以为序列。
a=max(1,2,36,3,5)
print(a)
#输出结果
36
3.实现判断两个字符串是否相等的方法
a=input('请输入一串字符串:')
b=input('请再次输入一串字符串:')
if a==b:
print('你两次输入的字符串相同')
else:
print('你两次输入的字符串不相同')
#输出结果
请输入一串字符串:abc
请再次输入一串字符串:asd
你两次输入的字符串不相同