函数和函数式编程(一)

 

一、什么是函数

函数是对程序逻辑进行结构化或过程话的一种编程方法。

能将整块代码巧妙地隔离成易于管理的小块,把重复代码放到函数中而不是进行大量的拷呗。

这样既能节省空间,也有助于保持一致性,因为你只需要改变单个的拷贝而无须去寻找再修改大量复制代码的拷贝。

 

1.函数VS过程

我们经常那两者进行,两者都是可以被调用的实体。

我们经常看到一些带有固定功能的‘块’,能够得到一些值,比如说判断字符串是否全为数字的isdigit()。

而过程,可以说是简单的、特殊、没有返回值的函数。

 

2.返回值与函数类型

函数会向调用者返回一个值,而实际中大部分函数更接近过程,不显示的返回任何东西。

没有返回值的函数,在python中,对应的返回对象是none。

看看下面的例子也许对函数会有更多的理解。

复制代码
def foo():
    return ['xyz',100000,-98.6]
def bar():
    return ('abc','wo',1234)

kebi = foo()
x,y,z = bar()
print(kebi)
print(x,y)
print(x)
复制代码

返回值是:

['xyz', 100000, -98.6]
abc wo
abc      #可以返回单个或者多个

元祖既可以被分解成为单独的变量,也可以直接用单一变量对其进行引用。

 

二、调用函数

函数的参数一般分为关键字参数和默认值

1.默认值

根据参数的默认顺序负值

def hello_2(age,name):
    print('{} is {} this year'.format(age,name))
hello_2('maoxian',24)
hello_2(24,'小鸟')  #参数的顺序要记清楚

2.关键字参数

如果你对参数顺序记得不是很清楚,你可以使用关键字参数。

def hello_2(age,name):
    print('{} is {} this year'.format(name,age))
hello_2(age=24,name='小鸟')

 

复制代码
def hello_1(name,greet):  #使用的是位置参数
    return '%s,%s'%(name,greet)
print(hello_1('kebi','Hello'))   #有几个位置参数就要有几个世纪参数
print(hello_1('Hello',name= 'kebi'))    #不管你是怎么传,位置参数必须在前
print(hello_1(name = 'kebi',greet='Hello'))

def hello_2(name='kebi',greet = "hello"):
    return '%s,%s' % (name,greet)
print(hello_2())   #关键字可以使用默认值
print(hello_2('kebi','Hello'))  
print(hello_2(greet='Hello'))


def hello_3(name,greet="Hello"):  #混搭要注意,位置参数要在前
    return '%s,%s' % (name,greet)
print('Kebi')
print('Hello',name = 'kebi')
print(hello_3())
复制代码

 

posted @   明王不动心  阅读(219)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示