python的order函数_python学习笔记:三、函数
发布日期:2021-06-24 13:58:43 浏览次数:2 分类:技术文章

本文共 1352 字,大约阅读时间需要 4 分钟。

这是第三篇python学习笔记,我们即将要学习python的函数。内容主要包括两个部分,函数的声明和函数的调用。

函数声明和调用

比如我们要声明一个“吃”的函数,语法如下:

def eat():

return "eat something"

print(eat())

上面是一个没有参数的函数,做的事情很简单,声明一个函数,然后返回一个字符串。接下来要增加一个参数了。

def ead(food):

return "eat %s" % food

print(eat('fruit'))

可以看到,上面声明了一个带有一个参数的函数,当然可以声明带两个,三个等。这些都是固定的,那么如果要声明一个不固定参数的函数呢?看代码

# 比如下面就是吃一份主食和一些小吃

# 小吃可以是一个,也可以是多个

def eat(food, *snack):

result = []

result.append("eat %s\n" % food)

for i in snack:

result.append("also eat some %s\n" % i)

return ''.join(result)

print(eat('rice', 'banana', 'apple'))

参数传递的注意事项

函数的使用很简单,不过在传递参数的时候需要注意一些事情,比如传值和传引用。这中区别在大部分语言中都会存在,python也不例外。由于在python中,一切皆为对象,因此我们称呼这个为传不可变对象和传可变对象。

先用一个例子来说名这个问题

def change(a):

a = 1

b = 2

change(b)

print(b)

# 结果是2

上面的就是传递不可变对象,不可变对象传入之后会新建一份拷贝,返回新的对象。不可变对象有:整型、字符串、元组。

再看看传可变对象

def change(a):

a.append(4)

b = [1,2,3]

change(b)

print(b)

# 结果是 [1,2,3,4]

很显然,b被改变了,这相当于传了一个引用,直接修改了原值。常见的可变对象有列表,字典。

默认参数

声明函数的时候可以预定义一些默认参数,比如查询分页的时候,可以默认每一页20条数据,默认根据时间字段,默认倒序。这样既节省函数的记忆成本又不失灵活性。

def query(page, per_page=20, order_by = 'date', order = 'desc'):

return "query page %d, per page %d order by %s order %s" % (page, per_page, order_by, order)

print(query(1))

# query page 1, per page 20 order by date order desc

函数调用指定参数名称

这是一个非常好的特性,调用函数的时候可以直指定参数的名称,比如我只想更改查询的循序,python中可以直接这样写

print(query(page=1, order='asc'))

而在其他的语言,可能要把所有的参数都写一遍,python这点非常棒!

赞赏

微信赞赏支付宝赞赏

转载地址:https://blog.csdn.net/weixin_33303537/article/details/111924298 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:angualr8观察者模式_Angular中使用ngrx/store进行状态管理
下一篇:html自动弹出窗效果,javascript+html5+css3自定义弹出窗口效果

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月20日 04时37分39秒