python main函数中变量默认为global variable

在python的main函数中的变量默认为全局变量,而其他的def函数中的变量则默认为局部变量

当然,局部变量会优先于全局变量,在执行formal_print(t_global)语句时便可看出。

测试代码如下:

<span style="font-size:18px;">#coding=utf-8

#测试python的全局变量,局部变量的机制

def formal_print(s_global):#常规的传参用法,传递参数进行print,变量名可任意
    print "formal_print: ", s_global
    return 

def global_print():#无参数传递,直接对global variable进行print
    print "global_print: ", s_global

def global_print_para(st):#此处虽然传递了一个参数st,但是并没有在函数中用到
    print "global_print_para: ", s_global

def test_global():
    stest = 'test_global'
    print "test_global: ", stest
    return 

if __name__ == '__main__':
    s_global = 'global variable s_global'#main函数中声明的变量默认为global variable,而其他def函数中声明的变量则默认为local variable
    t_global = 'global variable t_global'
    formal_print(s_global)
    formal_print(t_global)
    global_print()
    test_global()
    #formal_print(stest)#虽然在test_global()中声明了变量stest,但stest并非全局变量

    print 'End.'
</span>

python main函数中变量默认为global variable

时间: 2024-12-24 09:16:56

python main函数中变量默认为global variable的相关文章

C#语言基础 Main 函数中变量 整型

在我们每次上网或者用电脑的时候,请输入你的xxx 或者你的名字(年龄/身高/学校/籍贯)是 在这里我们就要学到一些变量,就是不确定的东西 string a:   赋予变量 a ="内容": 变量赋值 合起来就是 string a ="内容";  就是赋予变量 变量赋值 string a =""; a = a+"";

C++ main函数中参数argc和argv含义及用法

argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 第一个参数argc用来存放命令行参数的个数第二个参数argv是指针数组,它是用来存放命令行中各个参数和命令字的字符串的 具体可看:C++ main函数中参数argc和argv含义

Bullet:Python的函数中参数是引用吗?

别的语言中关于函数有传值和传引用的区分. 关于此,流传很广的一个说法是 他们在现象的区别之一就是值传递后的变化,受到影响的就是引用,未受到影响的就是传值. 在学习中,也曾碰到过这个问题,网上关于这个也是有着一些争论,各执一词. 但是官方文档中,却明确写着是call by object reference. https://docs.python.org/2/tutorial/controlflow.html#id2 The actual parameters (arguments) to a f

c++中函数中变量内存分配以及返回指针、引用类型的思考

众所周知,我们在编程的时候经常会在函数中声明局部变量(包括普通类型的变量.指针.引用等等). 同时,为了满足程序功能的需要,函数的返回值也经常是指针类型或是引用类型,而这返回的指针或是引用也经常指向函数中我们自己声明的局部变量. 这样,程序在某些情况下就可能存在一定的问题.看似很简单的问题,通过仔细的分析,我们就能够更好的理解c++中内存分配和释放的问题. 好,废话不多说,我们进入正题.首先,简单介绍一下程序的内存区域的分配: 程序的内存分配 ①堆区(heap).这一部分主要是由程序开发人员自己

main()函数中argv的理解及赋值

一.理解 C编译器允许main()函数没有参数,或者有两个参数(有些实现允许更多的参数,但这只是对标准的扩展).参数argc(argument count)是int类型,表示命令行中的字符串数:argv(argument value)是一个指向字符串的指针数组.命令行中的每个字符串被存储到内存中,并且分配一个指针指向它.系统使用空格把各个字符串格开.一般情况下,把程序本身的名字赋值给argv[0],接着,把剩下的第一个字符串赋给argv[1],等等.比如编译运行abc.exe,命令行输入abc.

51单片机定时器中断函数中变量初始化的问题

前几天在进行单片机实验时,目的是用定时器0写一个流水灯的程序,代码如下,编译没有问题,但就是灯不亮,检查了好几次始终找不到问题,现在找到了,分享一下 #include<reg51.h>//调用头文件 #define uint unsigned int //宏定义 #define uchar unsigned char #define long_time 10 //定时时间,每次50ms uint n=0; //查表变量 uchar temp[]={0xfe,0xfd,0xfb,0xf7,0xe

(转)C++ main函数中参数argc和argv含义及用法

原博地址:https://blog.csdn.net/dcrmg/article/details/51987413 argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 简单用法示例,新建工程键代码: #include <iostr

C++ main() 函数中argc和argv的含义和用法

argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称, 并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 简单用法示例,新建工程键代码: #include <iostream> using namespace std; void main(int argc,char *argv[

Python在函数中使用*和**接收元组和列表

当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 .这种方法在函数需要获取可变数量的参数 的时候特别有用. [注意] [1] 由于在args变量前有*前缀 ,所有多余的函数参数都会作为一个元组存储在args中 .如果使用的是**前缀 ,多余的参数则会被认为是一个字典的健/值对 .[2] 对于def func(*args):,*args表示把传进来的位置参数存储在tuple(元组)args里面.例如,调用func(1, 2, 3) ,args就表示(1, 2,