11+12+13 课时11+12+13 函数

2020-03-31  本文已影响0人  测侠

课程地址,建议1.5倍速观看

https://study.163.com/course/courseLearn.htm?courseId=1004987028#/learn/video?lessonId=1278786243&courseId=1004987028

函数

函数是代码的一种组织形式;
函数应该能完成一项特定的工作,而且一般一个函数值完成一项工作;
有些语言,分函数和过程两个概念,通俗解释是,有返回结果的叫函数,无返回结果的叫过程,Python没 这个区分;
函数的使用
函数使用需要先定义
使用函数,俗称调用

定义一个函数

只是定义的话不会被执行
def 关键字,后跟一个空格
函数名,自己定义,起名需要遵循命名规则,约定俗成,大驼峰命名只给类用
后面括号和冒号不鞥省,括号内可以有参数
函数内所有代码缩进
def func():
  print('我是一个函数')
  print('可以调用我哦')

  print('我在函数体外')

函数的调用
直接写出函数名字,后面小括号不能省略,括号内内内容根据情况
func() #调用函数
# 函数的参数和返回值

参数:负责给函数传递一些必要的数据或者信息

形参(形式参数):在函数定义的时候用到的参数,没有具体值,只是一个占位符号;
实参(实际参数):在调用函数的时候输入的值

返回值:调用函数的时候的一个执行结果;

返回可以有,也可以没有,但是建议返回一下结果;
如果没有值需要返回,我们推荐使用 return None 表示函数结束;
函数一但执行return,则函数立即结束;
如果函数没有return关键字,则函数默认返回None;
    def hello(person):
          print('{0}, 你好吗?'.format(person))
          print('{}, 你看见我加菲菲了吗?'.format(person))

调用函数,先定义一个实参,需要把实参 传入形参中

name = 'jack'
hello(name)

重复使用函数,参数变化一下,用一个实实在在的参数值 替换掉占位的那个形式参数;

name='刘亦菲'
hello(name)
hello('刘德华')
    name=hello('舒淇')

print(name)
help 负责随时为你提供帮助
help(print())

栗子

九九乘法表,一步一步慢慢拆解,慢慢组合,由点及面
def cheng_fa_biao(cheng_shu):
for i in range(1,cheng_shu+1): #控制外循环,每次从1开始
for ii in range(1,i+1): #内循环,被乘数的最大值等于乘数,每次从1开始
print("{0} * {1} = {2}".format(ii,i,i*ii),end='\t')
print() #执行完一层循环,则换行

return None

cheng_fa_biao(6)
#改造一下,函数套函数

九九乘法表

def print_line(i):
print('这是第 {0} 行!!!'.format(i))

def cheng_fa_biao(cheng_shu):
#print("{0} * {1} = {2}".format(cheng_shu,bei_cheng_shu,cheng_shubei_cheng_shu))
for i in range(1,cheng_shu+1): #控制外循环,每次从1开始
print_line(i)
for ii in range(1,i+1): #内循环,被乘数的最大值等于乘数
print("{0} * {1} = {2}".format(ii,i,i
ii),end='\t')
print() #执行完一层循环,则换行

return None

cheng_fa_biao(6)

编译

先编译,再执行,编译过程中有问题会暴漏出来(例如语法规则、中英文...)

参数

普通参数
def pu_tong(name, age, gender):
print('my name is {0}, age:{1}, gender:{2}'.format(name,age,gender))

pu_tong('jack', 18, 'man')

默认参数
def mo_ren(name, gender, age=18):
print('my name is {0}, age:{1}, gender:{2}'.format(name,age,gender))

pu_tong('jack','man') #给了默认参数,可以不写,不写就用默认,写了就不用默认

关键字参数(不记得参数的位置了,或者就是想明确的写出来给参数的赋值,看起来明明白白)

def guan_jian_zi(name, age, gender):
print('my name is {0}, age {1}, gender {2}, i love {0}.'.format(name, age, gender))

guan_jian_zi(name='刘亦菲', age=28, gender='女')

收集参数

上一篇 下一篇

猜你喜欢

热点阅读