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.参数组

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=0 10 for i in args: 11 res+=i 12 return res 13 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.按照有参和无参可以将函数调用分两种

1 def foo(): 2 print('from foo') 3 4 def bar(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
1 def foo(): 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,...)

函数的调用
1 def foo(): 2 print('from foo') 3 4 def bar(name): 5 print('bar===>',name) 6 7 #按照有参和无参可以将函数调用分两种 8 foo() #定义时无参,调用时也无需传入参数 9 bar('egon') #定义时有参,调用时也必须有参数 10 11 12 #按照函数的调用形式和出现的位置,分三种 13 14 foo() #调用函数的语句形式 15 16 def my_max(x,y): 17 res=x if x >y else y 18 return res 19 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

 

 

__EOF__

本文作者努力赢得人生
本文链接https://www.cnblogs.com/zjltt/p/6867051.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   真-小亮亮  阅读(675)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
#20191216
点击右上角即可分享
微信分享提示