函数 #
定义函数 #
def hello():
return 'hello'
调用函数
print(hello())
变参 #
Python 使用 *
表示变参,变参是被保存在数组中进行传递的
def sum(*n):
result = 0
for i in n:
result += i
return result
调用变参函数
sum(1, 2, 3)
参数默认值 #
def say(name, word='hello'):
print(name, ', ', word)
say('Peter') # => Peter, hello
返回值 #
Python 中使用 return
返回函数的执行结果。除了单一结果外,Python 也支持返回多个结果。
返回单个结果
def add(x, y):
return x + y
add(1, 2) # => 3
返回多个结果
def triple(x, y, z):
return x * 3, y * 3, z * 3
end
x, y, z = triple(1, 2, 3) # => x=3, y=6, z=9
关键字参数 #
关键字参数可以在调用时通过名称指定参数值而不用按照定义的顺序
def say(name, word='hello'):
print(name, ', ', word)
print(say(word='how are you', name='Peter'))
函数文档 #
函数文档用于定义函数的注解,声明在函数的定一行,本质只是一个普通的字符串。
def add(x, y):
"""add two numbers"""
return x + y
可以通过以下两种方式显示某个函数的函数文档信息
print(add.__doc__)
help(add)
全局变量 #
Python 中函数中定义的变量只在函数的作用域有效。只要函数中定义了变量无论在哪行,在函数中都只会引用该局部变量。和 JavaScript 一样属于词法作用域。
num = 100
m = 200
def declare10():
# print(num) 未定义错误
num = 10
print(m) # 200
declare10()
print(num) # 100
可以通过 global
指定需要引用的是外部变量而不是局部变量
def declare5():
global num
num = 5
declare5()
print(num) # 5
静态方法与类方法 #
静态方法使用 @staticmethod
声明,类方法使用 @classmethod
声明,两者基本类似,只是静态方法无需任何参数,类方法需要类本身作为参数。
class StrUtils:
@staticmethod
def sort_words(words):
return sorted(words)
@classmethod
def cout(cls):
print(cls)
print(StrUtils.sort_words([3, 2, 1]))