7.27 学习笔记

#命名空间 有三种
#内置命名空间 —— python解释器
# 就是python解释器一启动就可以使用的名字存储在内置命名空间中
# 内置的名字在启动解释器的时候被加载进内存里
#全局命名空间 —— 我们写的代码但不是函数中的代码
# 是在程序从上到下被执行的过程中依次加载进内存的
# 放置了我们设置的所有变量名和函数名
#局部命名空间 —— 函数
# 就是函数内部定义的名字
# 当调用函数的时候 才会产生这个名称空间 随着函数执行的结束 这个命名空间就又消失了

#在局部:可以使用全局、内置命名空间中的名字
#在全局:可以使用内置命名空间中的名字,但是不能用局部中使用
#在内置:不能使用局部和全局的名字的
# def qqxing(k,l = {}):
# # l.append(1)
# l[k] = 'v'
# print(l)
#
# qqxing(1) #[1]
# qqxing(2) #[1,1]
# qqxing(3) #[1,1,1]

# 如果默认参数的值是一个可变数据类型,
# 那么每一次调用函数的时候,
# 如果不传值就公用这个数据类型的资源

# 以Python3为例,Python3 中有以下几个标准的数据类型
# Number(数字)
# Bool (布尔值)
# String(字符串)
# List(列表)
# Tuple(元组)
# Sets(集合)
# Dictionary(字典)
# 可变数据类型:value值改变,id值不变
# 可变:Dictionary(字典)
# List(列表)
# 不可变:Number(数字)
# String(字符串)
# Tuple(元组)
# Bool(布尔值)

# a = 0
# def outer():
# a = 55
# def inner():
# #a = 6
# def inner2():
# nonlocal a
# a+=100
# print(a)
# inner2()
# inner()
# outer()

#基础闭包
# def outer():
# a = 1
# def inner():
# print(a)
# return inner
# inn = outer()
# inn()
#2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def cheak(a):
return a[1::2]
print(cheak([1,2,3,4,5,8]))
#3、写函数,判断用户传入的值(字符串、列表、元组)长度是否大于5。
def cheak2(a):
if len(a)>5:
print(1)
else:print(2)
cheak2([1,2,3,1,4,2,6,8])
# 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def cheak3(a):
return a[0:2]
print(cheak3([1,2,3,5,6,9,6]))
# 5、写函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数,并返回结果。
def cheak4(a):
dic={'d':0,'a':0,'s':0,'e':0}
for i in a:
if i.isdigit():
dic['d']+=1
elif i.isalpha():
dic['a'] += 1
elif i==' ':
dic['s'] += 1
else: dic['e']+=1
print(dic)
cheak4('dsadas2d1as32d1a5dssa4d6546w4r56aw4rwa65a4eaw5&*(&()& (^&^')


猜你喜欢

转载自www.cnblogs.com/shori/p/9487575.html
今日推荐