来源:百度SEO公司
函数和模块的使用
在Python中可以使用def关键字来定义函数,和变量一样每个函数也有一个响亮的名字,而且命名规则跟变量的命名规则是一致的。在函数名后面的圆括号中可以放置传递给函数的参数,函数执行完成后我们可以通过return关键字来返回一个值 变量引用和调用函数的引用
#-*- coding:utf-8 -*-
from random import randint
def roll_dice(n=2):
total = 0
for _ in range(n):
total += randint(1, 6)
return total
def add(a=0, b=0, c=0):
return a + b + c
print(roll_dice())
print(roll_dice(3))
print(add())
print(add(1))
print(add(1, 2))
print(add(1, 2, 3))
# 传递参数时可以不按照设定的顺序进行传递
print(add(c=50, a=100, b=200))
调用函数以及引用
def foo():
print(‘hello, world!‘)
def foo():
print(‘goodbye, world!‘)
foo()
提示:上述foo()会引用哪个呢?,当多个开发进行定义的时候 可以在同个文件夹下写两个不同的.py文件(a.py 和b.py)
[root@aliyun-hk-yabo-test-ownself python]# python 2.py
goodbye, world!
hello, world!
hello, world!
goodbye, world!
[root@aliyun-hk-yabo-test-ownself python]# cat 2.py
from b import foo
from a import foo
import a as m1
import b as m2
m1.foo()
m2.foo()
[root@aliyun-hk-yabo-test-ownself python]# cat a.py
def foo():
print(‘hello, world!‘)
foo()
[root@aliyun-hk-yabo-test-ownself python]# cat b.py
def foo():
print(‘goodbye, world!‘)
foo()
提示:如果我们导入的模块除了定义函数之外还中有可以执行代码,这个坑最好把要执行的代码放到执行的模块里 if name== ‘main‘: print(‘call foo()‘) foo() print(‘call bar()‘) bar()
__name__是Python中一个隐含的变量它代表了模块的名字
只有被Python解释器直接执行的模块的名字才是__main__
规范
def main():
# Todo: Add your code here
pass
if __name__ == ‘__main__‘:
main()