Python打卡第十七天,跟着CSDN练习语法

目录

 nonlocal和global关键字

 结果:

定义一个函数,统计输入的一串字符包含多少个数字,多少个英文字母,多少个空白字符,多少个其他字符

结果: 

汇总: 

 总结


 

 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()            # 判断字符串里的字母是否全是小写


"""

 总结

 好久不见,我回来啦!最近几天一直不在状态 ,校庆、生日、积极分子、作业好多好多的事情都堆在了一起,因为封校越来越想发疯。我试图在找回自己的状态,很喜欢好朋友和我说的一句话 “一心在沙漠中找寻金字塔的少年,也可以是少女,也可以是你。” 现在我满血复活了,加油!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值