__main__ and scoping in python from:https://stackoverflow.com/questions/4775579/main-and-scoping-in-python Ask Question 28 3 I was somehow surprised by the following behavior: def main(): print "%s" % foo if __name__ == "__main__": foo…
python世界里的局部变量和全局变量: 潜规则太重要了!!! 先上代码: def fun(): def test_global(): ''' 内层和外层都需要声明为global, 才能彻底打通变量名和值的一致性 ''' global a a=9 def f(): global a a= a*a print('a={} in 内层函数里'.format(a)) f() print ('a={} in test_global()'.format(a)) print(id(a)) # 全局域的 pr…
一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. 通过在函数内部,先添加一个 global  name    相当于在子模块定义了一个全局变量.把局部的name扩到到全局变脸,后续name的变化,也是全局的! name='lhf' def change_name(): #global na…
import re def reg_exp(senten): jiqiren = "阿童木" matchObj1 = re.search( r'(你(.*?)(男|女))|(机器(.*?)(男|女))|((.*?)(男的|男|女的|女))|(.*?)(什么(.*?)(性别))', senten, re.M|re.I) matchObj2 = re.search( r''+ str(jiqiren) + '(.*?)(名字|姓名|叫什么|叫什么名|叫什么名字)', senten, re.…
一段时间没有使用python来写代码,就发现以前学习的很多语法都忘了.看来还是当初这方面的项目做的好不够多,没有系统性的运用和学习,导致了很多语法不能顺手拈来.在接下来的这个项目中, 一定要把遇到的一些python知识不熟悉的地方还有遗忘的重新梳理一下,对python要达到灵活运用的境界,不能单纯是能敲代码,要达到学,做,教的三者合一.就是在做中学,学中做,做中教,教中学的 境界. 全局变量的作用域: 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量.全局变量所有作用域都可…
https://jingyan.baidu.com/article/7082dc1c071649e40a89bdb8.html Python 解释器内置了一些常量和函数,叫做内置常量(Built-in Constants)和内置函数(Built-in Functions),我们怎么在 Python IDLE 里得到全部内置常量和函数的名字呢? 工具/原料   Python 方法/步骤   1 如图,打开 Python IDLE,我用的 是 Python 3.7 ,界面有个性定制.你的版本不同,界…
Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化 Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 Python第四天   流程控制   if e…
一: python代码: a = 2 def b(): print a a = 4 print a b() 在b函数中,有a=4这样的代码,说明a是函数b内部的局部变量,而不是外部的那个值为2的全局变量a,那么第一行代码就报错了,原因是local variable 'a' referenced before assignment 而在c中就不会报错: #include <stdio.h> ; main(){ printf("global variable a : %d\n"…
最近看 scala ,看到了它的作用域,特此回顾一下python的变量作用域问题. A = 10 B = 100 print A #10 print globals() #{'A': 10, 'B': 100, '__builtins__': <module '__builtin__' (built-in)>, '__file__': 'E:/PycharmProjects/untitled/test1.py', '__package__': None, '__name__': '__main…
如果你在为python中的变量:全局变量和局部变量头疼,我想这篇blog会给你帮助 运行效果: 代码部分: #Python中的变量:全局变量和局部变量 #在很多语言中,在声明全局变量的时候,都喜欢把全局变量的名称定义为大写 #定义学生人数为100 STUDENT_NUMBER = 100 #学校名称 SCHOOL_NAME = 'Guangzhou University' """\ 获取全局变量:学生人数STUDENT_NUMBER的值 """…
一.局部变量与全局变量 1. 没有缩进,顶头写的变量为全局变量 2. 在子程序里定义的变量为局部变量 3. 只有函数能把变量私有化 name = 'lhf' #全局变量 def change_name(): name = '大帅比' #局部变量 只在这一段函数里生效 print(name) #先从当前作用域找name,找不到再往外层找 change_name() print(name) 二.修改全局变量 1.  global 总是把最外层的全局变量拿来用 NAME = 'lhf' def cha…
python 里内嵌函数是可以修改外部环境里的变量的 关键是细节. 如果是简单变量类型, 那么不可以. 但是如果是容器类变量, 则没问题了. 代码如下: class G: pass def f(): a=11 b=22 x=[1, 2, 3] g=G() g.abc=2 def iner(): global c # 如果想要把内部变量传递到外部环境里, 就必须先在内部函数里声明为全局变量 c=a+b # b *=100 # 内部函数不能修改 简单型外部变量 x.append([4,5,6]) #…
python list类型的变量相当于全局变量 可以被函数与类引用…
编程时,总会遇到各种各样的变量,取一个好的变量名能够有效提高代码的可读性,而且python是一种,动态类型的语言,良好的变量名,能够在编写代码或者再次阅读代码时提高效率. 1. 变量名不要太宽泛,要有描述性 在可接受的长度内,变量名能把它所指向的内容描述的越具体越好. BAD:day, task GOOD:day_of_week, task_todo 这样在读到变量名的时候,就能更精确的知道变量代表的内容 2.变量名最好能让人猜出什么类型 python中常用的变量类型有布尔类型,数字类型,列表类…
目录 目录 软件系统 变量的作用域 高级语言对数据类型的使用过程 作用域的产生 作用域的类型 Llocal局部作用域 Eenclosing嵌套作用域 Gglobal全局作用域 Bbuilt-in内置作用域 变量名解析LEGB法则 实例说明 对变量的引用 对变量的修改 global关键字 nonlocal关键字 命名空间和作用域的区别 软件系统 系统 Ubuntu 14.04 软件 Python 2.7.3 IPython 4.0.0 变量的作用域 在Python程序中创建.改变.查找变量名时,都…
自己编写的python代码经常需要分模块文件以及包,梳理一下调用顺序.执行顺序.工作路径.函数与变量等 工作路径 首先是工作路径,当模块代码放在统一的包内的时候,其路径和外层的包路径不同,当作为主调用时,工作路径是该模块所在的路径,而作为模块import进时,工作路径是主调用的路径 这是PyTest/utils/utils.py文件,输出路径,并定义了一个输出路径函数 import sys def printpath(): print('function') print(sys.path[0])…
1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 a=1 def speak(a=None): if a is None: print('None') else: print(a) speak() None speak(a=a) 1 class A(): def talk(self,filename=''): if filename=='': f…
1.静态变量(persistent) 在函数中声明的变量,当函数调用完之后就会释放.如果想保留这个变量的值(供该函数下一次调用),可以把这个变量声明为静态变量.静态变量不能在声明的时候赋值,而且只能在function里声明,且只有这个function才能认识它(main函数也不行).x声明后是[],就是一个空的array.声明后需初始化,注意不能直接用persistent x=2;而是用isempty(x)判断x是否已经赋值.如: function y=test() persistent x;…
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/11/08 8:46 # @Author : lijunjiang # @File : class3.py """ 类的私有变量和私有方法 在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性 特殊变量命名 1. _xx 以单下划线开头的表示的是protected类型的变量.即保护类型只能允许其本身与子类进行访问.若内部变量标示,如: 当使用…
在Python中,能够直接处理的数据类型有以下几种: 一.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 二.浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^…
尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖. Python 中 global 关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量: 我们知道Python使用变量的时候是可以直接使用的,x=[] ,y=2,z="123",而不需要先定义(var x; var y=2;var z='222'),这样的话,在函数内部就无法操作外部的变量了,因为它总会认为你是在定义一个新变量…
C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域. 从作用域看: 全局变量具有全局作用域.全局变量只需在一个源文件中定义,就可以作用于所有的源文件.当然,其他不包括全局变量定义的源文件需要用extern关键字再次声明这个全局变量. 静态局部变量具有局部作用域.它只被初始化一次,自从第一次初始化直到程序结束都一直存在,即它的生命周期是程序运行就存在,程序结束就结束, 他和全局变量的区别在于全局变量对所有的函数都是…
开发语言有很多种,为什么选Python? 先对各种开发语言做个初识和分类如下:高级语言:Python Java.PHP C# Go ruby C++... ---> 字节码低级语言:C.汇编 --->机器码 语言之间的对比: PHP类:适用于写网页,局限性(国内);目前国外采用PHP写网页已经很少了 Python Java: 既可以写网页,也可以写后台功能 - Python执行效率低,开发效率高 - Java执行效率高, 开发效率低 其实所有的执行效率高低,在当前的电脑配置上体现的并不明显,而…
Return是指返回一个数值,一般在函数中应用较多 Print则是指把结果打印出来,显示在屏幕上 def sum(a,b): total=a+b print('函数内:',total) return total #函数返回任意值 print('函数外:',sum(10,20)) #打印整个函数运行的返回值 运行结果: 函数内: 30 函数外: 30 若是把return去掉的话: def sum(a,b): total=a+b print('函数内:',total) #整个函数内其实已经赋值,但是…
c语言里如何调用汇编里的变量? 汇编语言:是声明全局变量 .globl _end_ofs _end_ofs: .word _end - _start c语言:声明这个变量,然后再调用这个变量 void board_init_r(gd_t *id, ulong dest_addr) { ............... monitor_flash_len = _end_ofs;//_end_ofs在别的头文件里声明了,所以这个函数就不用再声明 .................... } -----…
目录 影响Python行为的环境变量 环境变量 1. PYTHONHOME 2. PYTHONPATH 3. PYTHONSTARTUP 4. PYTHONOPTIMIZE 5. PYTHONBREAKPOINT 6. PYITHONDEBUG 7. PYTHONINSPECT 8. PYTHONUNBUFFERED 9. PYTHONVERBOSE 10. PYTHONCASEOK 11. PYTHONDONTWRITEBYTECODE 12. PYTHONHASHSEED 13. PYTHO…
1.查询 1.# all获取所有的object,结果QuerySet,列表 print('all'.center(80, '=')) ret = models.Person.objects.all() print(ret) 2.# filter 删选:结果:QuerySet list:不会报错,结果为空 print('filter'.center(80, '=')) ret = models.Person.objects.filter(id=1) print(ret) 3.# 对象 若对象不存在…
Python类中的变量有类变量和实例变量之分. 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ public static class_variable = "123" } Python3 定义方式 class Test: class_variable = "123" 私有变量定义 Java 的定义方式 class Test{ private static class…
Python比较操作符.变量赋值.对象拷贝 目录 Python比较操作符.变量赋值.对象拷贝 1. 比较操作符 == 和 is 1.1 区别 1.2 实例 2. 变量及其赋值 2.1 概念和逻辑关系 2.2 Python函数的参数传递 2.3 思考题 3. 浅拷贝和深度拷贝 3.1 浅拷贝概念 3.2 浅拷贝方法--可变对象 3.3 深度拷贝概念 3.4 深度拷贝方法 3.5 实例 3.5.1 浅拷贝和赋值的区别--是否会创建一个新对象 3.5.2 字符串.数字不能实现拷贝 3.5.3 元组的浅…
Python 类变量和成员变量 类与对象的方法 我们已经讨论了类与对象的功能部分,现在我们来看一下它的数据部分.事实上,它们只是与类和对象的名称空间 绑定 的普通变量,即这些名称只在这些类与对象的前提下有效. 有两种类型的 域 --类的变量和对象的变量,它们根据是类还是对象 拥有 这个变量而区分. 类的变量 由一个类的所有对象(实例)共享使用.只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上. 对象的变量 由类的每个对象/实例拥有.因此每个对象有自己…