python内部函数叫做_Python全栈自动化系列之Python编程基础(函数的作用域、内置函数)...

一、函数的作用域

c889810be0ed2146535389fd9b406e51.png

全局变量:直接定义在模块中,在该模块的任何地方都可以直接使用

局部变量:定义在函数内部的变量,只能在定义的这个函数内部使用

note:模块,以.py结尾的文件,可以把它叫做模块

注意点:尽量不要在函数内部定义与全局变量同名的变量;如果必须要定义一个同名的变量,那么建议放在函数的最前面

****全局变量以及局部变量的理解***********

# 全局变量

name = "zl"

def func():

# 局部变量

a = 100

# 函数内部使用

print(a)

# 函数内部使用全局变量

print(name)

func()

# 全局变量可以用

print(name)

运行结果:

8870ca4ce9272353e2cc1ad7d5b28793.png

二、在函数中使用关键字global,来声明变量,操作后可以对全局生效

a = 100

b = 200

def func1():

global a, b  #global声明摸个变量之后,那么这个变量在函数内部进行操作会对全局变量生效

# 局部变量

a = 999

b = 789

print("函数内打印a:",a)

func1()

print("函数外打印a:",a)

print("函数外打印b:",b)

运行结果:

b9aea6c7793c5898c8f116884f746d39.png

三、高级内置函数

1)enumerate:利用他可以同时获取索引以及值

li = [11,22,331,21,322]

res = enumerate(li)

for i in res:

print(i)

运行结果:

971d9cd9941b0b2146c1d207e9f78aa7.png

2)eval:识别字符串中有效的python表达式

str1 = ‘{"a":11,"b":22}‘

str2 = "[11,22,33,44]"

# 把str1转换为字典

dic1 = eval(str1) # 相当于----->dic1 = {"a":11,"b":22}

print(dic1,type(dic1))

# 把str2转换成列表

li = eval(str2)

print(li,type(li))

运行结果:

42063b47db92d31411910620e805897c.png

3)zip :聚合打包,列表元素长短不一时,以最短的为基准

注意点:zip打包返回的数据,只能使用一次

li = [1,2,3,4]

li2 = [11,22,33,44,55]

li3 = [111,222,333,444,555,666,777]

res = zip(li,li2,li3)

print(list(res))

运行结果:

a2f7891319fc41e023cb69613ec837a6.png

zip打包返回的数据,只能使用一次

# 转换成字典

title = ["aa","bb","cc"]

value = [11,22,33]

res = zip(title,value)

print(dict(res))

print(list(res))  # 注意点:zip打包返回的数据,只能使用一次

运行结果:

85d405d3a735a500e9926c6ae99bc671.png

原文:https://www.cnblogs.com/bluesea-zl/p/12184537.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值