python的函数

文章介绍了Python中函数的应用,包括内置函数如len()的作用。讨论了如何在没有len()函数的情况下计算字符串长度。接着,阐述了如何定义函数,包括函数名、参数列表和返回值。示例展示了无返回值的函数和比较字符串的函数。文章还解释了函数参数的值传递和引用传递概念,分别通过不可变类型(如字符串)和可变类型(如列表)的例子进行说明。
摘要由CSDN通过智能技术生成

Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用

前面学习了 len() 函数,通过它我们可以直接获得一个字符串的长度。我们不妨设想一下,如果没有 len() 函数,要想获取一个字符串的长度,该如何实现呢?请看下面的代码:

n=0
for c in "http://c.biancheng.net/python/":
   n = n + 1
print(n)
30
Python函数的定义

定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用 def 关键字实现,具体的语法格式如下:

def 函数名(参数列表):
    //实现特定功能的多行代码
    [return [返回值]]
  • 函数名:其实就是一个符合 Python 语法的标识符,但不建议读者使用 a、b、c 这类简单的标识符作为函数名,函数名最好能够体现出该函数的功能(如上面的 my_len,即表示我们自定义的 len() 函数)。

  • 形参列表:设置该函数可以接收多少个参数,多个参数之间用逗号( , )分隔。

  • [return [返回值] ]:整体作为函数的可选参参数,用于设置该函数的返回值。也就是说,一个函数,可以用返回值,也可以没有返回值,是否需要根据实际情况而定。

#定义个空函数,没有实际意义
def pass_dis():
#定义一个比较字符串大小的函数
def str_max(str1,str2):
    str = str1 if str1 > str2 else str2
    return str
 def str_max(str1,str2):
return str1 if str1 > str2 else str2

我们可以调用上面创建的 pass_dis() 和 str_max() 函数:

pass_dis()
strmax = str_max("http1:","http:");
print(strmax)
http:

通常情况下,定义函数时都会选择有参数的函数形式,函数参数的作用是传递数据给函数,令其对接收的数据做具体的操作处理。

#定义函数时,这里的函数参数 obj 就是形式参数
def demo(obj):
    print(obj)
#
a = "C语言中文网"
#调用已经定义好的 demo 函数,此时传入的函数参数 a 就是实际参数
demo(a)
  • 值传递:适用于实参类型为不可变类型(字符串、数字、元组);

  • 引用(地址)传递:适用于实参类型为可变类型(列表,字典);

def demo(obj) :
    obj += obj
    print("形参值为:",obj)
print("-------值传递-----")
a = "C语言中文网"
print("a的值为:",a)
demo(a)
print("实参值为:",a)
print("-----引用传递-----")
a = [1,2,3]
print("a的值为:",a)
demo(a)
print("实参值为:",a)
-------值传递-----
a的值为: C语言中文网
形参值为: C语言中文网C语言中文网
实参值为: C语言中文网
-----引用传递-----
a的值为: [1, 2, 3]
形参值为: [1, 2, 3, 1, 2, 3]
实参值为: [1, 2, 3, 1, 2, 3]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值