1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python成员变量和全局变量_python 全局变量和局部变量详解笔记

python成员变量和全局变量_python 全局变量和局部变量详解笔记

时间:2019-03-03 03:24:33

相关推荐

python成员变量和全局变量_python 全局变量和局部变量详解笔记

python,数据分析,有相关问题欢迎留言交流。

一、问题引入

在写爬虫进行批量命名时,比如说常用的解析网页时 url这个变量就是跨函数的。涉及到全局变量和局部变量的设置。

二、全局变量与局部变量的区别

局部变量需要通过函数去访问,而全局变量则可以直接访问。具体请看下面例子说明。

三、函数间的全局变量

①全局变量与局部变量的设定

跨函数不设定为全局变量则无法调用。以url这个变量为例。

def init():

#global url

url = '/page='

def get_jiegou(url):

#global i

for i in range(1,5,1):

#批量生成翻页网址

print(str(url) + str(i))

if __name__ == '__main__':

init()

get_jiegou(url)

在这一步,get_jiegou(url)函数想调用init()函数的url这个变量失败。

# 去掉#global url前的#

def init():

global url

url = '/page='

def get_jiegou(url):

#global i

for i in range(1,5,1):

#批量生成翻页网址

print(str(url) + str(i))

if __name__ == '__main__':

init()

get_jiegou(url)

正常生成我们需要的网址。

②变量更改

局部变量不能改变全局变量。需在函数中设定全局变量。但主函数则可以直接更改。

def a():

global i

i = 1

print(i)

def b():

i = i + 1

print(i)

if __name__ == '__main__':

a()

i = i + 3

print(i)

b()

四、类的全局变量和局部变量

class variable:

a = '我是类变量'

def showvarible(self):

b = '我是函数变量'

print(a)

print(b)

variable().showvarible()

a变量无法调用

class variable:

a = '我是类变量'

def showvarible(self):

b = '我是函数变量'

print(self.a)

print(b)

variable().showvarible()

class variable:

def __init__(self,a):

self.a = '我是类变量'

def showvarible(self):

b = '我是函数变量'

print(self.a)

print(b)

variable(1).showvarible()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。