Python笔记(七)_全局变量与局部变量
全局变量与局部变量:在函数外部或内部定义的变量
1. 函数内部的变量名首次出现,且在=号左边
不管这个变量在全局域中有没有定义该变量名,都被视为一个局部变量
例1:
>>>num=100 #全局变量
>>>def func():
num=123 #就算在全局域定义了,此时num也属于局部变量
print(num)
>>>func()
123
2. 函数内部的变量名首次出现,且在=号右边
如果该变量在全局域中定义了,则开始使用全局变量
如果全局域中未定义,则报错
例2:
>>>num=100 #全局变量
>>>def func():
x=num+100 #变量在右边,直接使用全局变量的值
print(x)
>>>func()
200
3. 在函数内部,想给全局变量赋值,需用到关键字“global”来声明
例3:
>>>num=100 #全局变量
>>>def func():
num+=100 #未定义前,试图修改全局变量的值会报错
print(num)
>>>func()
UnboundLocalError: local variable 'num' referenced before assignment
例3修改:
>>>num=100 #全局变量
>>>def func():
global num #用关键字声明
num+=100
print(num)
>>>func()
200
Python笔记(七)_全局变量与局部变量的更多相关文章
- Python之路 day3 全局变量、局部变量
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 全局与局部变量 在子程序中定义的变量称为局部变 ...
- python线程中的全局变量与局部变量
在python多线程开发中,全局变量是多个线程共享的数据,局部变量是各自线程的,非共享的. 如下几种写法都是可以的: 第一种:将列表当成参数传递给线程 from threading import Th ...
- Python语法基础——关于全局变量与局部变量
1.函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量,例如: num = 100 def func(): num = ...
- 6.Python网络编程_全局变量基础
变量作用域: 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量.全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优 ...
- python笔记17-全局变量、局部变量
在函数里面定义变量叫局部变量,它只能在函数里面用出了该函数外,就不能使用了在函数外面定义的变量,是全局变量,在函数内也可以使用 如果想在函数里面修改全局变量的值,那么要先用global关键字声明 要修 ...
- Python笔记(六)_函数
函数一般是从第一行代码开始执行,结束于return语句.异常.或者函数所有语句执行完毕.一旦函数将控制权交还给调用者,就意味着全部结束.函数中做的所有工作以及保存在局部变量中的数据都将丢失.再次调用这 ...
- python --函数学习之全局变量和局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域. 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序内访问. 在调用函数的时候,所有在函数内声明的变量名称都被加到作用 ...
- guxh的python笔记七:抽象基类
1,鸭子类型和白鹅类型 1.1,白鹅类型 白鹅类型对接口有明确定义,比如不可变序列(Sequence),需要实现__contains__,__iter__,__len__,__getitem__,__ ...
- [b0021] python 归纳 (七)_获得进程和线程信息
# -*- coding: utf-8 -*- """ 获得线程, 进程 ID,NAME 总结: """ import threading ...
随机推荐
- git统计提交次数
git log --since="Oct 27 9:16:10 2017 +0800" --pretty=oneline | wc -l
- Java 遍历某个目录
import java.io.File; import java.io.IOException; public class DirErgodic { public static void find(S ...
- android项目的目录结构讲解
参考书籍:<第一行代码Android> 一:android项目的目录结构讲解 1..gradle和.idea 这两个目录下放置的都是Android Studio自动生成的一 ...
- Using Keyboard Navigation
http://technet.microsoft.com/en-us/library/cc939835.aspx
- 66.Subarray Sum Equals K(子数组和为K的个数)
Level: Medium 题目描述: Given an array of integers and an integer k, you need to find the total number ...
- shell设置用户自己的环境变量
- smbclient - 类似FTP操作方式的访问SMB/CIFS服务器资源的客户端
总览 SYNOPSIS smbclient {servicename} [password] [-b <buffer size>] [-d debuglevel] [-D Director ...
- java访问ftp
1.连接ftp FTPClient ftpClient = new FTPClient(); ftpClient.connect(host,port); ftpClient.login(userNam ...
- Go的学习 sort
1.排序操作主要都在 sort包中,导入就可以使用了 2.sort.Ints对整数进行排序 package main; import ( "fmt" "sort" ...
- bzoj4145 [AMPPZ2014]The Prices 状压 DP
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4145 题解 好像这道题有不少方法呢. ...谁叫这道题有点简单,所以方法多呗. 我的方法: 求 ...