目录
定义一个函数,统计输入的一串字符包含多少个数字,多少个英文字母,多少个空白字符,多少个其他字符
nonlocal和global关键字
# 一个案例彻底弄懂python中的nonlocal和global关键字
注:首先,我先简单介绍一下nonlocal和global关键字。
"""
python中的关键字:
nonlocal : 用来声明外层的局部变量。
global : 用来声明全局变量。
"""
a = 100
def outer():
b = 10
def inner():
nonlocal b # 声明外部函数的局部变量
print("inner b:", b)
b = 20
global a # 声明全局变量
a = 1000
inner()
print("outer b:", b)
outer()
print("a:", a)
结果:
inner b: 10
outer b: 20
a: 1000
注: 调用全局变量的时候必须先写 global 关键字,才能使用这个全局变量;在内部函数调用外部函数的变量的时候,必须先使用 nonlocal 关键字,才能够使用。
定义一个函数,统计输入的一串字符包含多少个数字,多少个英文字母,多少个空白字符,多少个其他字符
# 定义一个函数,统计输入的一串字符包含多少个数字,多少个英文字母,多少个空白字符,多少个其他字符
注:第一次知道 isdigt,isalpha,isspace 的用法;代码思路还是和以前一样。
# 定义一个函数,统计输入的一串字符包含多少个数字,多少个英文字母,多少个空白字符,多少个其他字符
def func(string1):
count, count_letter, count_blank, count_other = 0, 0, 0, 0
for i in string1:
if i.isdigit():
count += 1
elif i.isalpha():
count_letter += 1
elif i.isspace():
count_blank += 1
else:
count_other += 1
print(f"{string1}中有{count}个数字")
print(f"{string1}中有{count_letter}个英文字母")
print(f"{string1}中有{count_blank}个空白字符")
print(f"{string1}中有{count_other}个其他字符")
return count, count_letter, count_blank, count_other
def main():
# 手动输入遗传字符
string1 = input("请输入一段字符:")
# 统计输入的一串字符包含多少个数字,多少个英文字母,多少个空白字符,多少个其他字符
func(string1)
if __name__ == "__main__":
main()
结果:
请输入一段字符:456jggd **vg
456jggd **vg中有3个数字
456jggd **vg中有6个英文字母
456jggd **vg中有1个空白字符
456jggd **vg中有2个其他字符
汇总:
注:简单总结一下,介绍一下标识符
"""
用法: string.is****()
isalpha() # 判断字符串是否全是字母,并至少有一个字符
isspace() # 判断字符串是否全是空白字符,并至少有一个字符
isdigit() # 判断字符串是否全是数字,并至少有一个字符
isalnum() # 判断字符串是否全是字母和数字,并至少有一个字符
isascii() # 判断字符串为空或字符串中的所有字符都是 ASCII
isnumeric() # 判断字符串是否仅由字母组成
isdecimal() # 判断字符串是否仅由十进制的数字组成
isidentifier() # 判断字符串是否为有效的标识符
isprintable() # 判断是否是字符串用来处理目的的内置方法
# isprintable()当字符串中存在的所有字符均为可打印类型或字符串为空时,这
# 些方法返回“ True”,否则,返回布尔值“ False”。
istitle() # 判断字符串里的首字母是否大写
isupper() # 判断字符串里的字母是否全是大写
islower() # 判断字符串里的字母是否全是小写
"""
总结
好久不见,我回来啦!最近几天一直不在状态 ,校庆、生日、积极分子、作业好多好多的事情都堆在了一起,因为封校越来越想发疯。我试图在找回自己的状态,很喜欢好朋友和我说的一句话 “一心在沙漠中找寻金字塔的少年,也可以是少女,也可以是你。” 现在我满血复活了,加油!!