函数

  • 函数是代码的一种组织形式
  • 有些语言,分函数和过程两个概念,通俗解释是,又返回结果的叫函数,无返回结果的叫过程,python中不加以区分
  • 函数的使用:
  • 函数的使用需要先定义
  • 使用函数,俗称调用 *

  • 定义
  • def关键字,后跟一个空格
  • 函数名,自己定义,起名需要遵循变量命名规则,见名知意,约定俗成,大驼峰命名只给类用
  • 后面括号和冒号不能省,括号内可以有参数
  • 函数内的所有代码要缩进
  • 案例
# 函数
def func():
    print("Hello World")
func()

结果

Hello World

函数的参数和返回值

  • 参数:负责给函数传递一些必要的数据或者信息
  • 形参(形式参数):在函数定义的时候用到的参数,没有具体值,只是一个占位符号
  • 实参(实际参数):在调用函数的时候输入的具体值
  • 返回值:调用函数的时候的一个执行结果
  • 返回值是可选的,可以有也可以没有,要根据实际情况
  • 强烈推荐要使用返回值,就算没有也要返回一个None,使用return None表示函数结束
  • 使用return 返回结果
  • 函数一旦执行return,则函数立即结束
  • 如果函数没有return关键字,则函数默认返回None
  • 案例
#形参和实参
#person即为形参
def hello(person):
   print("{0},你要去哪里?".format(person))
   print("{0},你吃过饭了吗?".format(person))
   return None
#p是实参
p="老王"
hello(p)

结果

老王,你要去哪里?
老王,你吃过饭了吗?
# 函数的值就是这个函数的返回值
pp = hello(p)
print(pp)

结果

小明,你好吗?
小明,你看到我家的baby了吗?
None

函数小案例:

# 九九乘法表
for i in range(1,10):#控制外循环,从1-9
    for j in range(1,i + 1):
        print("{0}*{1}={2}".format(j,i,i*j),end="\t")
    print()

结果

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81

help

  • help负责随时为你提供帮助
    案例:
# help
help(print)
help(None)# 相当于help(print()),想想为什么?

结果

Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

参数详解

  • 参数分类
  • 普通参数/位置参数:通过位置识别的参数
  • 默认参数
  • 关键字参数
  • 收集参数
  • 案例
# 普通参数案例
def normal_para(one,two,three):
    print(one + two)
    return None
normal_para(1,2,3)

结果

3
# 默认参数
# 如果不进行定义,three默认赋值为100
def default_para(one,two,three=100):
    print(one+two+three)
    return None
default_para(1,2)
default_para(1,2,3)

结果

103
6
# 关键字参数
# 参数名 = 值 的方式可以精确赋值给参数而不需要知道其定义时的位置
def keys_para(one,two,three):
    print(one + two)
    print(three)
    return None
keys_para(one=1,two=2,three=3)
keys_para(two=2,three=3,one=1)

结果

3
3
3
3
收集参数