x006-函数和模块的使用

原创
2019/12/13 21:22
阅读数 20

函数和模块的使用

在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()
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部