python中函数的特点_python基础-函数基本特性和用法

函数:

初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数。自变量x的取值范围叫做这个函数的定义域.

python中函数定义方法:

def test(x):

"The function definitions"

x+=1

return x

def:定义函数的关键字

test:函数名

():内可定义形参

"":文档描述(非必要,但是强烈建议为你的函数添加描述信息)

x+=1:泛指代码块或程序处理逻辑

return:定义返回值

总结可概括使用函数的三大优点

1.代码重用

2.保持一致性

3.可扩展性

在python中函数分两类:内置函数,自定义函数

#内置函数

# sum

# max

# min

# a=len('hello')

# print(a)

# b=max([1,2,3])

# print(b)

#自定义函数

# # ******

# # ******

# # ******

# # hello world

# # ******

# # ******

# # ******

# def print_star():

# print('#'*6)

# def print_msg():

# print('hello world')

# print_star()

# print_star()

# print_star()

# print_msg()

# print_star()

# print_star()

# print_star()

#定义函数的三种形式

#一:无参数函数:如果函数的功能仅仅只是执行一些操作而已,就定义成无参函数,无参函数通常都有返回值

def print_star():

print('#'*6)

#二:定义有参函数:函数的功能的执行依赖于外部传入的参数,有参函数通常都有返回值

# def my_max(x,y):

# res=x if x >y else y

# return res

#三:空函数

# def auth():

# """认证功能"""

# pass

# auth()

函数参数:

形参:形式参数,不是实际存在,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时接收实参(实参个数,类型应与实参一一对应)

实参:实际参数,调用函数时传给函数的参数,可以是常量,变量,表达式,函数,传给形参

区别:形参是虚拟的,不占用内存空间,.形参变量只有在被调用时才分配内存单元,实参是一个变量,占用内存空间,数据传送单向,实参传给形参,不能形参传给实参

2.位置参数和关键字(标准调用:实参与形参位置一一对应;关键字调用:位置无需固定)

3.默认参数

4.参数组

def test (x,y): #x,y是形参 位置参数

print(x)

print(y)

test(1,2)#实参

#形参和实参是一一对应

def test (x,y):

print(x)

print(y)

test(4,y=0)#关键字参数#与顺序无关

#关键字要在位置参数前面

#默认参数

def test(x,y=2):#两种位置和关键字

print(x)

print(y)

#默认参数的值通常定义成不可变类型

#4.参数组

ContractedBlock.gif

ExpandedBlockStart.gif

1 def foo(x,y,*args): #*会把溢出的按位置定义的实参都接收,以元组的形式赋值给args

2 print(x,y)3 print(args)4

5 foo(1,2,3,4,5)6

7

8 def add(*args):9 res=010 for i inargs:11 res+=i12 returnres13 print(add(1,2,3,4))14 print(add(1,2))15

16

17

18 def foo(x, y, **kwargs): #**会把溢出的按关键字定义的实参都接收,以字典的形式赋值给kwargs

19 print(x, y)20 print(kwargs)21 foo(1,2,a=1,name='egon',age=18)

View Code

#补充:函数定义阶段到底干了什么事情:只检测函数体的语法,并不会执行

5.按照有参和无参可以将函数调用分两种

ContractedBlock.gif

ExpandedBlockStart.gif

1 deffoo():2 print('from foo')3

4 defbar(name):5 print('bar===>',name)6

7 #按照有参和无参可以将函数调用分两种

8 foo() #定义时无参,调用时也无需传入参数

9 bar('egon') #定义时有参,调用时也必须有参数

View Code

def my_max(x,y):

res=x if x >y else y

return res

# res=my_max(1,2)*10000000 #调用函数的表达式形式

# print(res)

res=my_max(my_max(10,20),30) #把函数调用当中另外一个函数的参数

print(res)

函数返回值

以下三种情况返回值都为None:

没有return

return 什么都不写

return None

ContractedBlock.gif

ExpandedBlockStart.gif

1 deffoo():2 print('from foo')3 x=1

4 return 1,[2,3],(4,5),{}5 res=foo()6 print(res) #打印结果:(1,[2,3],(4,5),{})

7 a,b,c,d=foo()8 print(d)

View Code

return 值1,值2,值3,... 返回结果:(值1,值2,值3,...)

函数的调用

ContractedBlock.gif

ExpandedBlockStart.gif

1 deffoo():2 print('from foo')3

4 defbar(name):5 print('bar===>',name)6

7 #按照有参和无参可以将函数调用分两种

8 foo() #定义时无参,调用时也无需传入参数

9 bar('egon') #定义时有参,调用时也必须有参数

10

11

12 #按照函数的调用形式和出现的位置,分三种

13

14 foo() #调用函数的语句形式

15

16 defmy_max(x,y):17 res=x if x >y elsey18 returnres19

20 #res=my_max(1,2)*10000000 #调用函数的表达式形式

21 #print(res)

22

23

24 res=my_max(my_max(10,20),30) #把函数调用当中另外一个函数的参数

25 print(res)

View Code

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值