Python之基础函数

Python基础之函数

1:函数

一:什么是函数

函数就是对某一个功能的代码,进行打包。类似于一修车师傅有工具箱一样,需要用什么工具直接拿来用就行。

二:为什么要有函数

当需要重复的用一些功能的时候,就可以直接调用,不用再复制粘贴

三:函数的分类

三.一:内置函数
print,id,map,filter...都是内置函数,你只需要怎么用就行。。。
三.二:自定义函数
就是你需要用什么功能,都是需要自己造

四:使用函数的优点

1,代码逻辑清晰,可读性好
2,不用写重复的代码
3,后面扩展容易,管理方便

2:函数的定义

一:如何定义函数

#语法
def 函数名(参数1,参数2,参数3,...):
    '''注释'''
    函数体
    return 返回的值

#函数名要能反映其意义
def login():
	name = input('请输入你的用户名:')
	pwd = input("请输入的密码:")
	if name == 'alex' and pwd = 'alexdsb':
		print('登录成功')
	else:
		print("登录失败!")

#上述代码定义函数

二:函数的使用(先定义,后调用)

# 函数与变量的定义也差多,变量名如果不定义,调用变量就睡报错,函数名其实可以理解为变量名,不定义调用就报错

def login():
	name = input('请输入你的用户名:')
	pwd = input("请输入的密码:")
	if name == 'alex' and pwd = 'alexdsb':
		print('登录成功')
	else:
		print("登录失败!")

login() # 这就是调用函数

测试一

def f1():
	print('from f1')
	f2()

f1()	

测试二

def f2():
	print('from f2')
	f1()

def f1():
	print('from f1')
	
f2()

测试三

def f1():
	print('from f1')
	f2()
i
def f2():
	print("from f2")

f1()

结果

测试一报错
测试二和测试三正常
结论:函数的使用,必须先要定义,后调用。
使用函数时,一定要明确区分定义阶段和调用阶段

三:函数定义解释器做了什么?

#只检测语法,不执行代码
也就说,语法错误在函数定义阶段就会检测出来,而代码的逻辑错误只有在执行时才会知道

四:函数定义的三种形式

一:无参
应用场景仅仅只是执行一些操作,比如与用户交互,打印
def foo():
	print('foo')
二:有参
需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大值最小值
def max_(arg1, arg2):
    '''
    参数必须是int类型
    '''
	if arg1 > arg2:
		print(arg1)
	else:
		print(arg2)
三:空函数
设计代码结构
def login():
	pass
	
def registry():
	pass
    
........        

3:调用函数

一:调用函数

函数的调用:函数名加括号
1 先找到名字
2 根据名字调用代码
def foo():
	print("foo")
	
foo() # 这就是调用函数	

二:函数返回值

一般没有定义返回值,函数默认的返回值为None

返回值要用关键字return
return 可以返回单个值,或者多个值(多个值是以元组的形式放回)
# 默认
def foo():
	print('foo')
	
# 一个值
def foo():
	print('foo')
	return 'foo'

# 多个值
def foo():
	print('foo')
	return 0, 1, 2, 'foo'


三:函数调用的三种形式

一:语句形式

foo()

二:表达式形式

res = 3*len('helloword')
print(res)

三:函数作为另外一个函数的参数

res = max(max(1,30),3)
print(res)

4:函数的参数

一:形参与实参

形参即变量名,实参即变量值,函数调用时,将值绑定到变量名上,函数调用结束,解除绑定
def max_(arg1, arg2): # arg1与arg2是形参
    '''
    参数必须是int类型
    '''
	if arg1 > arg2:
		print(arg1)
	else:
		print(arg2)

res = max_(100,101)  # 100和101是实参      
posted @ 2020-06-15 22:31  为了等  阅读(208)  评论(0编辑  收藏  举报