Python 函数的调用方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 函数的调用方式相关的知识,希望对你有一定的参考价值。

str.sprip()
str2=split(str)

为什么会有这两种调用方式,这两种调用方式有什么不一样,这两种调用方式的名称叫什么?

好像没有特别的叫法吧,也没注意手册上有什么特别的叫法,至于区别,举个例子你就清楚了,如下:
假如有个列表aa=[1,4,3,5],对这个列表用sort()进行排序,如果第一种方式aa.sort()后aa=[1,3,4,5];
而第二种方式sort(aa)排序后虽然得到了新列表[1,3,4,5],但是aa还是=[1,4,3,5]。
也就是说第一种方式会改变原列表,而第二种不会改变,只是得到了一个新的副本。
GOT IT?!^^
补充一下,如果非要说叫法上的区别的话,第一种叫做方法调用,第二种叫做函数调用。至于方法和函数的些微区别,方法是基于对象的,函数是基于本身的。如果再详细……方法一般不可以单独使用,因为大部分方法是基于对象的,调用也必须基于对象,像上面第一种;而函数则可以单独使用,你可以理解成它是数据系统本身的,而不是对象专有的。

PS:至于为什么我换了用sort()而没有用LZ给的例子函数,是因为..…^o^……LZ第一种方式和第二种方式写的都不是一个函数……
参考技术A strip是删除的意思;而split则是分割的意思
str.strip()
删除字符串左右两端的相应字符,直到没有符合的字符为止。
例如:
例A
theString = 'saaaay yes no yaaaass'
print theString.strip('say')
结果为:(空格)yes no(空格)
例B
但是如果修改为: theString = 'saaa3ay yes no yaaa3ass' print theString.strip('say')
结果就变成:(无空格)3ay yes no yaaa3(无空格)
也就是说因为3不是's'、'a'、'y'其中的一个,因此strip停止了。而例A中是因为遇到空格而停止的。追问

我知道这两个函数的用途,就是不明白这两种调用的方法叫什么,为什么不能str.split()这样用

追答

>>> b='hello world'
>>> b.split(' ')
['hello', 'world']

追问

>>> b.split(' ')
这样调用好像出错了

AttributeError: 'list' object has no attribute 'strlt'

追答

list 没有split
字符串可以

本回答被提问者采纳
参考技术B

调用的方式有两种:

    变量名.函数()。

    变量名=函数(参数)。

 python函数是用来执行一个单一的,有关行动的有组织的,可重用代码块。功能提供了更好地为您的应用程序和代码重用的高度模块化。    

Python语法:

    功能块函数名和括号(())

    关键字def开始。任何输入参数或参数应放在这些括号内。你还可以定义这些括号内的参数。

    函数的第一个语句可以是一个可选的声明 - 文档字符串的函数或的docstring。

    在每个函数的代码块开始用冒号(:)和缩进。

    语句返回[表达]退出功能,可选地传递一个表达式给呼叫者。一个不带参数的return语句是相同的回报没有。

语法:

以上是关于Python 函数的调用方式的主要内容,如果未能解决你的问题,请参考以下文章

Python函数的定义参数传入与函数的调用

python函数 传参的多种方式 解读

python函数调用时传参方式

从函数中调用 Python cProfile。 (或其他在 Django 中使用 cProfile 的方式)

Python的函数和参数

Python 函数的调用方式