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

# 函数

定义:

  我们可以把程序中相对独立的功能模块抽取出来,这样的好处是可以减少重复代码的编写,将来可以重复使用这些功能模块,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 = 100def 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]

  

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

时间: 2024-10-10 07:45:15

Python第二周之函数及其作用域的相关文章

python开发之路---第二章之--函数的作用域

## Python中一个函数就是一个作用域 age = 18 def func1(): age = 73 def func2(): print(age) return func2 val = func1() val() # 代码定义完成后,作用域就生成了,作用域向上查找 原文地址:https://www.cnblogs.com/LoveElsa/p/10276820.html

python第二周 数字类型

数字类型 Python中,数字并不是一个真正的对象类型,而是一组类似类型的分类.Python不仅支持通常的数字类型(整数和浮点数),而且能够通过常量去直接创建数字以及处理数字的表达式,还通过模块和第三方库提供更多的数字类型支持.Python数字类型的完整工具包括: 整数和浮点数 复数(需要模块支持) 固定精度的十进制数 有理分数 集合 布尔类型 无穷的整数精度 各种数字内置函数和模块 处理数字对象的工具: 表达式操作符:+.-.*././/.>>.**.& 内置数学函数:pow.abs

python第二周基本图形绘制

#pythonDraw.py(python蟒蛇) import turtle #调用turtle(海龟)库 turtle.setup(650,350,200,200)#(width,height,startx,starty)确定长宽和窗体打开的位置,后面两个可省略,默认为屏幕中央. turtle.penup() #提起画笔,海龟在飞行,不会在画布上留下痕迹 turtle.fd(-250) #移动到-250位置 turtle.pendown() #放下画笔,海龟在爬行 turtle.pensize

python第二周 字符串

字符串是一个有序的字符的集合,用来存储和表现基于文本的信息,python的内置数据结构之一.字符串是多个字符组成的序列,因此支持序列的相关操作. 支持的操作有: 1. 通过索引来访问 >>> s = 'this is a test string' >>> len(s)  #len()函数可以得到字符串的长度 21 得到字符串的长度以后,就可以根据索引来访问字符串的内容. >>>s[0]   #正向索引 't' >>>s[-1]  #反

Python第二周之字符串,列表,元组,集合,字典

# 字符串 1.定义:str类型的,是字符串.例如: var1 = 'Hello world!' 2.使用: 1.增:+ 2.查:index(str), find(str), in 字符串的常用方法 def main(): print(help(''.isalnum)) str1 = 'hello, world' print(len(str1)) print(str1.capitalize()) print(str1.upper()) print(str1) print(str1.find('o

Python第二周习题集(一)

# 排列组合c(n,m) m = int(input('m = ')) n = int(input('n = ')) fm = 1 for num in range(1, m + 1): fm *= num fn = 1 for num in range(1, n + 1): fn *= num fmn = 1 for num in range(1, m - n + 1): fmn *= num print(fm // fn // fmn) def f(x): """ 求函数

python第二周。2019.4.13

1, 我绘制大蟒蛇就是..保存也对着呢,你要是打开文件的话,先闪个黑屏,再闪个白屏..自动退出,然后啥都没了. 我觉得是我代码编错了...再来一遍! 这次到可以,但是这个大蟒蛇好像没有回头... 刚才错了一个括号... 2, turtle 是个图形库,就是叫做海龟库. 3, python语言的计算生态包括标准库和第三方库两种,其中python库就属于标准库. 标准库:随解释器直接安装到操作系统中的功能模块. 第三方库:需要经过安装才能使用的功能模块 另外,库library,包package,模块

Python第二周之面向对象

# 面向对象 类名,每个单词首字母大写 类,属性和行为都要有! 类的定义: 1.类是对象的蓝图和模板,有了类就可以创建对象 2.定义类需要做两件事情:数据抽象和行为抽象 3.数据抽象:抽取对象共同的静态特征(找名词)- 属性 4,行为抽象:抽取对象共同的动态特征(找动词)- 方法 定义类的关键字- color-类名(每个单词首字母大写) class Student(object): # Python3 中的规范写法 # 构造方法(构造器/构造子)constructor # 调用该方法的时候不是直

Python第二周习题集(二)

# 约瑟夫环问题 def main(): """ 约瑟夫环问题, :return: 基督徒和非基督徒站的顺序. """ persons = [True] * 30 # 30个人活着,用True表示. counter = 0 # 死的人. index = 0 # 下标 number = 0 # 报数 while counter < 15: # 死的人小于15继续进行 if persons[index]: # 活着的人报数 number +=