python如何写函数,怎样才能写好一个Python函数?

在Python中定义函数。

1. 比如用Python写一个斐波那契数列函数:

>>> def fib(n): # write Fibonacci series up to n

... """Print a Fibonacci series up to n."""

... a, b = 0, 1

... while a < n:

... print(a, end=' ')

... a, b = b, a+b

... print()

...

函数调用:

>>> # Now call the function we just defined:

... fib(2000)

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

在Python函数中,def关键字声明一个函数定义,函数名称紧跟其后,函数名称后面是包含参数列表的小括号,最后是冒号结尾。

然后Python函数的函数体从下一行开始,必须注意要有字符缩进。

Python的函数调用,比如:

>>> fib(0)

>>> print(fib(0))

None

2. fib(n)是没有返回值的函数,下面写一个有返回值的Python函数,返回[]list列表:

>>> def fib2(n): # return Fibonacci series up to n

... """Return a list containing the Fibonacci series up to n."""

... result = []

... a, b = 0, 1

... while a < n:

... result.append(a) # see below

... a, b = b, a+b

... return result

...

函数调用:

>>> f100 = fib2(100) # call it

>>> f100 # write the result

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

函数fib2(n)实例中展示了新的Python feature,其中return用于声明当前函数返回一个值,result.append(a)调用了list对象result的append函数,append是由对象的类型决定的函数,实际上相当于result = result + [a],但是append的效率更高。

3. 在Python函数定义中定义多个参数列表,以及为参数赋上默认值:

def ask_ok(prompt, retries=4, reminder='Please try again!'):

while True:

ok = input(prompt)

if ok in ('y', 'ye', 'yes'):

return True

if ok in ('n', 'no', 'nop', 'nope'):

return False

retries = retries - 1

if retries < 0:

raise ValueError('invalid user response')

print(reminder)

这里又个非常重要的警告,需要在实际项目中多加注意!!默认值通常只计算一次,但是如果默认值是可变的,比如list,就会有如下情况:

def f(a, L=[]):

L.append(a)

return L

print(f(1))

print(f(2))

print(f(3))

输出结果为:

[1]

[1, 2]

[1, 2, 3]

可以改为:

def f(a, L=None):

if L is None:

L = []

L.append(a)

return L

4. 函数里的关键字参数

形式是kwarg=value

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):

print("-- This parrot wouldn't", action, end=' ')

print("if you put", voltage, "volts through it.")

print("-- Lovely plumage, the", type)

print("-- It's", state, "!")

def cheeseshop(kind, *arguments, **keywords):

print("-- Do you have any", kind, "?")

print("-- I'm sorry, we're all out of", kind)

for arg in arguments:

print(arg)

print("-" * 40)

for kw in keywords:

print(kw, ":", keywords[kw])

5. 特殊参数

def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):

----------- ---------- ----------

| | |

| Positional or keyword |

| - Keyword only

-- Positional only

6. 注意函数的代码风格和命名规范

比如使用4个空格键为不是tab缩进等。

python如何写函数,怎样才能写好一个Python函数?
python如何写函数,怎样才能写好一个Python函数?

x.append在Python中代表什么含义?

首先,需要知道x是一个什么对象,而 append 只是 x中的一个方法,不同的类有不同的方法,不同类的同名方法实现的功能也不尽相同

其次,在Python中的append方法,我目前能够想到的只有 list 列表了,list 的append 方法作用是将一个元素添加到列表末尾,例如:

>>>a = [1,2,3]

>>>a

[1,2,3]

>>>a.append(4)

>>>a

[1,2,3,4]

在执行了append方法后,会将元素添加到列表末尾

各类,模块的方法可以查询api文档,在此就不细说了

开发python最好用的软件是什么?

开发python最好用的软件是什么?这个要看个人爱好了,如果是团队协作,方便管理,可以使用专业强大的IDE环境,如果是日常简单开发,追求简约,可以使用轻量级的代码编辑器,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下:

专业强大的IDE集成环境

这里推荐2个软件,一个是jetbrains公司的pycharm,一个是微软的visual studio,对于项目开发和团队协作来说非常方便,也有社区免费版可以直接使用:

  • pycharm

这是一个非常专业的python开发软件,专门为python量身打造,相信许多做python开发的朋友应该都非常熟悉,常见的智能补全、语法提示、代码高亮、版本控制等基本功能这个软件都能很好兼容,除此之外,还支持代码重构、代码分析、单元测试等高级功能,项目开发来说非常方便,不管是代码的调试还是项目的管理,都非常高效,个人使用来说,也非常容易掌握,值得推荐和一试:

python如何写函数,怎样才能写好一个Python函数?

  • visual studio

这个非常专业的IDE环境,相信做开发的应该无人不知无人不晓,尤其是在windows平台,除了基本的c/c++、c#,新版vs中也融入了python(2017和2019),自动补全、代码高亮、语法提示等功能非常不错,如果你在工作中经常用到vs,或者说本人已经非常熟悉vs,那么可以使用vs做python开发,效率来说非常不错,当然,软件本身会比较大一些,占用的空间和内存也会多一些:

python如何写函数,怎样才能写好一个Python函数?

简单轻便的代码编辑器

这里推荐2个软件,一个是简洁灵活的sublime text,一个是免费开源的vs code,对于日常开发来说非常合适,个人使用也非常容易掌握:

  • sublime text

这是一个非常简洁轻便的代码编辑器,相信许多做开发的朋友都非常熟悉,即使没使用过,也应该听说过,运行速度快、占用内存少、插件扩展丰富,自动补全、语法提示、代码高亮等功能非常不错,python开发的话,只需要简单配置一下本地python解释器路径即可直接编辑运行程序,个人使用非常容易掌握,当然,原则上不免费哦:

python如何写函数,怎样才能写好一个Python函数?

  • vs code

这是一个免费开源跨平台的代码编辑器,在业界非常著名,相信许多做开发的朋友都在使用,微软良心之作,界面风格和vs非常相似,但没有vs那么臃肿和复杂,轻便灵活、配置简洁、高效易用,智能补全、版本控制、语法提示、代码高亮等功能非常不错,python开发的话,只需安装一个python插件,即可开始python开发,个人使用非常方便,当然,在前端等开发中也普遍使用:

python如何写函数,怎样才能写好一个Python函数?

目前,就分享这4个不错的python开发软件吧,专业强大的就是IDE集成环境,像pycharm、visual studio,简单易用的就是代码编辑器,像sublime text、vs code,根据个人喜好,选择适合自己的一种就行,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论