首页 > 代码库 > 【python】入门学习(四)

【python】入门学习(四)

函数:

定义函数

#area.pyfrom math import pidef area(radius):    """Return the area of a circle with the given radius."""    return pi * radius ** 2
>>> ================================ RESTART ================================>>> >>> area(5.5)95.03317777109125>>> print(area.__doc__)Return the area of a circle with the given radius.>>> 

 

doctest #可用于自动运行文档字符串中的python示例代码

 

全局变量访问时一定要加上global

#errorname = Jackdef say_hello():    print(Hello  + name + !)def change_name(new_name):    name = new_name
>>> say_hello()Hello Jack!>>> change_name(Mary)>>> say_hello()Hello Jack!
#correctname = Jackdef say_hello():    print(Hello  + name + !)def change_name(new_name):    global name    name = new_name
>>> say_hello()Hello Jack!>>> change_name(Mary)>>> say_hello()Hello Mary!

 

main():被认为是程序的起点,可选不一定要。运行时必须输入main()

python中参数的传递都是按引用传参,python支持按值传参

在引用传参中,无法修改参数的值。下面的函数起作用:

#reference.pydef set1(x):    x = 1
>>> ================================ RESTART ================================>>> >>> y = 5>>> set1(y)>>> y5

 

函数参数默认值:

注意:包含默认参数的形参一定要放在无默认参数的形参后面

        只有第一次调用函数时给默认参数赋值! #还不理解,先记下来

#greetings.pydef greet(name, greeting = Hello):    print(greeting, name + !)
>>> greet(bob)Hello bob!>>> greet(bob, Good morning)Good morning bob!

 

使用关键字传参,即在使用时也指明形参,可以不理会顺序,很好用:

#greetings.pydef greet(name = Bob, greeting = Hello):    print(greeting, name + !)
>>> greet(greeting = Good evening, name = Mary)Good evening Mary!>>> greet(greeting = Good evening)Good evening Bob!

也可以用模块化的方式来调用,模块中不包括main函数

>>> import greetings>>> greetings.greet()Hello Bob!>>> dir(greetings)[__builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, greet]

 

【python】入门学习(四)