Python(day6)-函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python(day6)-函数相关的知识,希望对你有一定的参考价值。
一 为何要有函数?
不加区分地将所有功能的代码垒到一起,问题是:
代码可读性差
代码冗余
代码可扩展差
如何解决?
函数即工具,事先准备工具的过程是定义函数,拿来就用指的就是函数调用
结论:函数使用必须是:先定义,后调用
二:函数的分类
1.内置函数:built-in
2.自定义函数:
def 函数名(参数1,参数2,...):
‘‘‘注释‘‘‘
函数体
可以先看个例子
‘‘‘ ************ ************ ************ hello world ************ ************ ************ ‘‘‘ def print_tag(tag,count,line_num): for i in range(line_num): print(tag*count) def print_msg(msg): #msg=‘hello world‘ print(msg) print_tag(‘*‘,20,3) print_msg(‘hello world‘) print_tag(‘*‘,20,3)
1、定义阶段
def foo(): print(‘from foo‘) bra() def bra(): print(‘from bra‘)
def func(): #语法没问题,逻辑有问题,引用 一个不存在的变量名 adfkgjklgnlfijg
2、调用阶段
foo() #执行函数语句形式
================================
res=foo() #执行函数表达式形式
print(res)
3、定义阶段:只检测语法,不执行代码
def func(): if 1>2 print(‘hahahaha‘)
4、定义函数的三种形式
无参函数
def func():
pass
有参函数
def func(x):
print(x)
空函数
def func()
pass
函数的使用:先定义,后调用
如何定义函数之定义函数的三种形式
1.定义无参函数:函数的执行不依赖于调用者传入的参数就能执行时,需要定义为无参函数
def print_tag(): print(‘*************************‘) print_tag()
2.定义有参数:函数的执行需要依赖于调用者传入的参数才能执行时,需要定义为有参函数
def func(x,y,*args): print(x,y) print(args) func(1,2,3,4,5,6)
def max2(x,y): if x > y: return x else: return y res=10*max2(20,2) #取大值乘10 print(res)
def max2(x,y): if x > y: #如果x值比y大 return x #返回x值给函数max2 else: return y #否则返回y值 #11,23,100 res=max2(max2(11,23),100) #比较x 、y的值,取大值接着比较 print(res)
3 定义空函数:
#3 定义空函数:函数体为pass # def func(x,y,z): # pass
def auth(): ‘‘‘用户认证‘‘‘ pass def get(): ‘‘‘download file‘‘‘ pass def put(): ‘‘‘upload file‘‘‘ pass def check_hash(): ‘‘‘check file hash value‘‘‘ pass
总结
函数的使用必须遵循:先定义后使用的原则
函数的定义:与变量的定义是相似的,如果没有事先定义函数而直接引用,就相当于在引用一个不存在的变量名
补充:函数里没有return 默认返回none值
包含多个值,默认识别返回值成元组格式
返回值:可以返回任意类型
return的效果:只能返回一次值,终止函数的执行
以上是关于Python(day6)-函数的主要内容,如果未能解决你的问题,请参考以下文章