码迷,mamicode.com
首页 > 编程语言 > 详细

Python第二周之函数及其作用域

时间:2018-03-06 21:45:38      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:命名   变量   定义   作用域   模块   用法   oba   提升   陌生人   

# 函数

定义:

  我们可以把程序中相对独立的功能模块抽取出来,这样的好处是可以减少重复代码的编写,将来可以重复使用这些功能模块,Python中的函数就是代表了这样的功能模块。

命名:

  age_of_student(官方) 或 ageOfStudent(大部分人的习惯用法,又称驼峰命名法)

调用:

  import 模块 (as 别名)

  函数名(参数)

注意:二元运算符之间放空格,参数里赋值时,等号两边不加空格。例如:def f(x=2)

#y = x !定义求阶乘这个函数,将求阶乘这个功能抽取出来,放到函数中。
def f(x):
    """
    求函数x的阶乘
    :param x: 任意正整数
    :return: x的阶乘
    """
    y = 1
    for z in range(1, x + 1):
        y *= z
    return y
if __name__ == ‘__main__‘:
m = int(input(‘m = ‘))
n = int(input(‘n = ‘))
# 当需要计算阶乘的时候,不用再写循环,而是直接调用已经定义好的函数就可以了。
print(f(m) // f(n) // f(m - n))

#  函数的作用域

1.在函数外面,叫做全局变量 global variable

2.减少全局变量的使用,尽量使用局部变量。迪米特法则:不要和陌生人说话,尽量让模块之间不要发生联系。

3.Python搜索一个变量的方式是从局部作用域到嵌套作用域再到全局作用域,最后到内置作用域。即 local > enclose>global>built-in(l e g b)

4.如果想改变搜索范围,可以使用global 和nonlocal关键字。

a = 100
def
foo(): # 函数内的局部变量,离开foo函数时无法访问的。 local variable global a # 提升权限,变为全局变量,可以直接修改,重新定义申明的变量。 a = 200 print(a) b = good def bar(): nonlocal b # 非局部作用域。 b = hello print(b) print(a) bar() print(b) foo() print(a)

 # tips

ctrl + q    当前位置查看注释,

ctrl + lb    返回写注释位置查看注释

shift + F6  重命名

#  字符串倒过来的做法:[-1::-1]

  

Python第二周之函数及其作用域

标签:命名   变量   定义   作用域   模块   用法   oba   提升   陌生人   

原文地址:https://www.cnblogs.com/zl666/p/8516465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!