python全局变量

Python之三元运算、集合、函数

余生颓废 提交于 2020-01-24 03:20:53
一、三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 else 值2 1.举例说明: a =1 b = 2 c= a if a>1 else b #如果a大于1的话,c=a,否则c=b 如果不用三元运算符,就用if-else条件判断,如下: a = 1 b = 2 if a >1: c = a else: c = b 2.三元运算符也可以用在列表和字典中 例:1-10的数字,打印出其中的偶数 三元运算: ss = [i for i in range(1,11) if i%2==0 ] #循环1-11间的值(不包括11),如果值能被2整除(即取偶数),就写到ss这个list中 print(ss) #最终打印结果 [2, 4, 6, 8, 10] if-else条件判断 s = [] for i in range(1,11): if i %2==0: s.append(i) print(s) 二、集合 集合:set持有一系列元素,和list很像,也是一种数据类型,但是set的元素没有重复,而且是无序的 特点:set不包含重复的元素(天生去重)且无序 2.集合的定义 a.定义一个列表,通过强制转换来定义集合 nums = [1,1,2,3,5,6

python函数入门

送分小仙女□ 提交于 2020-01-21 03:15:14
知识内容: 1.函数的作用 2.函数的定义与调用 3.函数的返回值 4.函数的参数 5.局部变量与全局变量 6.作用域 一、函数的作用 1.复用代码 将可能重复执行的代码封装成函数,并在需要执行的地方调用函数,不仅可以实现代码的复用,还可以保持代码的一致性,便于日后的维护 2.提高可读性 使用函数可以提高代码的可读性,便于后期的代码维护,同时也有利于软件测试的进行 3.可拓展性 使用函数可以方便地进行功能的拓展,方便地进行功能添加,因为一个函数内部发生改变了,调用它的地方都可以发生改变。 二、函数的定义与调用 1. 函数的定义 (1)函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 (2)在python中定义函数的语法如下: 1 def 函数名(参数): 2 # 注释 3 函数体 在python中使用def关键字定义函数,然后是一个空格和函数名称,接下来是一对圆括号,在圆括号中是函数的参数,也就是形式参数列表, 多个参数用逗号隔开,圆括号之后是冒号,然后换行,最后是注释和函数体代码 (3)定义函数注意: 函数形参不需要声明变量,也不需要指定函数返回类型;即使函数不需要接受任何参数,也必须保留一对空的圆括号;括号后的冒号不能少;函数体相对于def关键字必须保证一个缩进(4个空格1个tab) (4)函数名: 函数名:函数名是包含字母,数字

Python变量理解

强颜欢笑 提交于 2020-01-13 03:13:04
变量进阶(理解) 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 引用的概念 在 Python 中 变量 和 数据 是分开存储的 数据 保存在内存中的一个位置 变量 中保存着数据在内存中的地址 变量 中 记录数据的地址 ,就叫做 引用 使用 id() 函数可以查看变量中保存数据所在的 内存地址 注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用 变量 不再 对之前的数据引用 变量 改为 对新赋值的数据引用 1.2 变量引用 的示例 在 Python 中,变量的名字类似于 便签纸 贴在 数据 上 变量可以理解为是一个标签,当与对象关联时,其实是变量这个标签拴在了那个对象上了,一个标签只能拴在一个对象上且还是栓的最新的那个对象; 1.3 函数的参数和返回值的传递 在 Python 中,函数的 实参 / 返回值 都是是靠 引用 来传递来的 def test(num): ​ print("-" * 50) print("%d 在函数内的内存地址是 %x" % (num, id(num))) ​ result = 100 ​ print("返回值 %d 在内存中的地址是 %x" % (result, id(result))) print("-" * 50) ​

python命名空间和作用域及local,global,locals(),globals()区别

送分小仙女□ 提交于 2020-01-09 13:28:24
1.命名空间及作用域的基本概念 python命名空间和作用域及local,global,locals(),globals()区别 目录: 1.1.模块级变量运用 2.变量的作用域 3.local,global,locals(),globals()区别 locals查看局部变量 globals查看修改删除全局变量 4.典型错误处理 1.1.命名空间分类: 全局命名空间:记录模块变量,包括函数、类、导入模块、模块级变量和常量 局部命名空间:函数,类,推导式名字空间叫做局部名字空间,记录参数和局部变量 内置命名空间:任何模块均可访问它,存放着内置函数异常 1.2.三种命名空间之间的加载与取值顺序: 加载顺序: 内置命名空间(程序运行前加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程序运行中:调用时才加载) 取值 ,查找变量顺序: 局部命名空间->全局命名空间->内置命名空间 局部名字空间local 本地- 特指当前函数或类方法。 局部名字空间 Eclosing封闭- 函数体内定义函数 全局名字空间global全局 - 特指当前模块。 内置名字空间 built-in内置- 对每个模块都是全局的。 注意: import module:模块自身被导,保持自已名字空间;module.function在模块的命名空间中运用 from module import:

python 全局变量引用与修改

混江龙づ霸主 提交于 2020-01-06 21:11:19
https://www.cnblogs.com/yanfengt/p/6305542.html 一、引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字。如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if a == 1: print("a: %d" %a) for i in range(4): if i in b: print("%d in list b" %i) else: print("%d not in list b" %i) if __name__ == '__main__': func()    输出结果: 二、修改 使用到的全局变量,需要在函数中修改的话,就涉及到歧义问题,如: #! /usr/bin/python a = 1 b = [2, 3] def func(): a = 2 print "in func a:", a b[0] = 1 print "in func b:", b if __name__ == '__main__': print "before func a:", a print "before func b:", b func() print "after func a:", a print "after func b:", b    输出结果:

python线程

戏子无情 提交于 2019-12-29 02:18:54
1. 线程的创建 使用threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承 threading.Thread 就可以了,然后重写 run 方法 示例如下: #第一种import threading import time def saySorry(): print("============") time.sleep(1) if __name__ == "__main__": for i in range(5): t = threading.Thread(target=saySorry) t.start() #启动线程,即让线程开始执行 # 第二种import threading import time class MyThread(threading.Thread): def run(self): for i in range(3): time.sleep(1) msg = "I'm "+self.name+' @ '+str(i) #name属性中保存的是当前线程的名字 print(msg) if __name__ == '__main__': t = MyThread() t.start() 说明 python的threading.Thread类有一个run方法

Python之函数与变量

会有一股神秘感。 提交于 2019-12-27 09:18:36
本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 变量与作用域 值传递和引用传递 一、函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有相应的结果(输出)。编程语言中的函数有输入,不一定会返回结果。 编程语言中的函数其实就是一个用于完成某个特定功能的相关代码的代码段 。那么哪些代码语句应该被整合到一起定义为一个函数呢?这取决于你想让这个函数完成的功能是什么。 为什么要将这个代码段定义成一个函数呢?这其实就是函数的作用。假设我们在编写一个可供用户选择的菜单程序,程序启动时需要打印一遍菜单列表,而且程序运行过程中用户也可以随时打印菜单列表,也就是说打印菜单列表的代码段可能要多次被用到,假设每次打印的菜单列表都是一样的,而且列表很长,那么我们是否应该每次在需要打印菜单的时候重复执行相同的代码呢?那么当我们需要增加或者减少一个菜单项时怎么办呢?显然我们需要在每个打印菜单的代码点都进行修改。如果我们把打印菜单的相关代码拿出来定义为一个函数,又会出现怎样的场景呢?我们只需要在需要打印菜单列表的地方使用这个函数;当需要添加或减少一个菜单项时,只需要修改这个函数中的内容即可,程序的维护和扩展成本大大降低;同时,我们这个程序的代码会更加简洁,而且有条理性更加便于阅读,而不是一坨乱糟糟的让人看着就想重写的东西。当然,如果你要打印的是多级菜单

Python-函数

随声附和 提交于 2019-12-25 13:15:26
·函数(function) 笔记: 在数学中, 一次函数y = 8x + 2,也可以写成: f(x) = 8x + 2 当x = 1时,表达式f(1) = 8*1+2 = 10; 当x = 2 时,表达式f(2) = 8*2+2= 18。 函数 f(x) 花括号中的 x 用来接收一个参数,8x + 2 可以计算传入参数相对应的值。 在Python中,可以把函数抽象成数学中的一次函数, 在程序中多次执行同一项任务时,并不需要反复编写相同的代码。可以通过编写函数,在需要时可以多次调用该函数实现相同的功能。函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。当然,也可以自建函数,这被称作用户自定义函数。 @ 函数的定义 函数定义的规则: 函数以 ' 关键字 def ' +' 函数名 '+' 圆括号 (参数) '+' 冒号: ' 。 圆括号中的参数可以用于定义参数。 函数内的第一行语句可以选择性地给 函数编写文档 用于 说明函数的作用 。 函数内容以冒号起始,并且缩进。 return [表达式] 结束函数,选择性地返回一个值给调用方。 不带表达式的return默认返回 None def 函数名(参数): #声明一个函数 ... 函数体 ... 返回值函数名(参数) #调用函数 @ 向函数传递参数 创建函数: def test_1(name,age

python学习之函数

故事扮演 提交于 2019-12-24 16:40:18
函数概述 从实现函数的角度来看,其至少需要想清楚以下 3 点: • 函数需要几个关键的需要动态变化的数据,这些数据应该被定义成函数的参数。 • 函数需要传出几个重要的数据(就是调用该函数的人希望得到的数据),这些数据 应该被定义成返回值。 • 函数的内部实现过程。 函数创建和调用 #1). 定义函数: #def 函数名(参数1, 参数2........): #函数执行的内容 #2). 定义函数时指定参数和返回值的类型 #def mymax(num1: int, num2: int) -> int: #代表num1需要传入整形, num2需要传入整形, 返回值必须是整形。 #3). 函数的帮助文档: 三引号 def mymax(num1: int, num2: int) -> int: """ 求两数的最大值 :param num1: 第一个数值 :param num2: 第二个数值 :return: 最大值 """ #if num1 > num2: #return num1 #else: #return num2 return num1 if num1 > num2 else num2 #调用函数 max_num = mymax(2, 1) print(max_num) #print(help(mymax)) 定义空函数 #定义函数的时候, 函数内部代码不会执行。

Python变量和数据类型,类型转换

自作多情 提交于 2019-12-23 21:21:14
a.变量的定义   把数据分别用一个简单的名字代表,方便在接下来的程序中引用。   变量就是代表某个数据(值)的名称。   变量就是用来存储数据的,将不同的数据类型存储到内存 b.变量的赋值 变量名= 初始值 初始值:为了确定变量的类型 name='Heygor' age=18   上面过程就是在赋值,意思把字符类型数据HeyGor复制给了变量name,数字类型数据18赋值给了变量age   用等号连接变量名后就可以在表达式中使用这个新变量了 查看变量的类型: print(type(变量名或变量)) 查看变量的地址: print(id(变量名或变量)) c.注意事项   Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。   Python中变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。   等号(=)用来给变量赋值。   等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。 d.变量名命名规则 输出python 的保留字: import keyword print(keywort.kwlist)   1、变量名可以包括字母、数字、下划线,但是数字不能做为开头。     例如:name1是合法变量名,而1name就不可以。   2、系统关键字不能做变量名使用     例如