数据类型的内置方法

今日内容笔记

1. while+else

    当while与else连用时,只有while正常结束循环体代码时,else下面的子代码块才能运行,while正常运行是指没有break关键字干扰的情况下。
    语法结构
    	while 条件:
    		 循环体代码
        else:
			循环体代码正常运行结束 则会执行该子代码块

2.死循环与while的嵌套

# 死循环会极度影响电脑性能,甚至会造成硬件的损伤
	死循环是无法自己结束的循环而且会一直占用cup的工作,使电脑变卡。
 while嵌套:
    第一个条件为真时在进入第二个while循环,直到两个循环都为假时,退出循环。
    flag = True
    while flag:
        username = input('username>>>:')
        password = input('password>>>:')
        if username == 'jason' and password == '123':
            print('登录成功')
            while flag:
                cmd = input('请输入您的指令>>>:')
                if cmd == 'q':
                    print('下次光临')
                    flag = False
                print('正在执行您的指令:%s' % cmd)
        else:
            print("用户名或密码错误")

流程图:

3. for循环

    for循环的循环语句是由循环体以及循环体的判定条件两部分组成的。
    for循环可以做到的while循环也可以做到但是for循环的语句与结构更加简单,同时使用频率也比while循环更高。
    一般情况下涉及到循环取值的时候,都会考虑for循环而不是while循环,它会依次取出里面的每一个字符。
    循环字典时只能获取到字典的key,value无法直接获取。
    循环集合时打印出的值是无序的,因为集合内部也是无序的。
    语法结构:
        for 变量名 in for循环对象:
			for循环的循环体代码
        它的循环对象可以是字符串,列表,字典,元组等数据类型
   # for循环语法结构中的变量名取名的时候也要做到见名知意,如果真的没有合适的名字可以使用常见的变量名:i, j , k, v, item, num等。
for循环是可以用while和if的关键词的
	for+break:
        也是结束本层循环
    for+continue
    	结束本次循环,直接开始下一次
    for+else
    	在正常情况下循环体代码运行结束后执行else的子代码
        

4. range关键字

range有三种用法:
	第一种:
        括号里只写一个数字,默认从0开始,顾头不顾尾
    第二种:
        括号里写两个数字,自己定义从哪开始,顾头不顾尾
    第三种:
        括号内写三个数字,第三个数字表示等差数列的差值,也是步长,默认值为1。
	range方法在python2和python3中有所不同:
        在python2中是直接产生一个列表,元素很多的情况下会占用很多内存空间,不过在python2中有一个xrange,它的效果是和python3中range是一样的。
        在python3中range不占用空间但是里面是可以有很多数据。
    range也是一个迭代器,用于产生一个数据集合,但是节省空间。

5.数据类型的内置方法

# 查看数据类型的内置方法可以借助编程软件的自动提示,采用句点符查看。
1.int整型
	1.类型转换:
		将其他数据类型转换为整型,但是只能转换纯数字的字符串。
    2.进制转换:
		可以将其他进制数转换成十进制
            # 将十进制转换成其他机制
            # print(bin(100))  # 0b1100100    二进制(0b开头)
            # print(oct(100))  # 0o144        八进制(0o开头)
            # print(hex(100))  # 0x64         十六机制(0x开头)
            # 将其他机制转换成十进制
            print(int('0b1100100', 2))
            print(int('0o144', 8))
            print(int('0x64', 16))
2. float浮点型
	浮点型只能将别的类型的数据转换成浮点型。
3.str字符串型
	1.类型转换:
		str可以转换所有的基本数据类型
    2.索引取值:
        字符串支持索引取值,和列表一样。
        print(s1[0])
    3.切片操作:
        从一个字符串中取出子字符串:
            语法结构和for循环的关键词range一样,但是它是用中括号括起来的,而不是小括号,也是顾头不顾尾。
             print(s1[2:4])
    4.步长:
    	切片里面的第三个参数为步长,默认是一,依次获取,如果是2的话就是隔一个取一个。
          print(s1[2:9:1])  
		 print(s1[2:9:2])
    5.索引取切片:
        索引取切片是可以用负数的,步长可以控制索引的方向。
         print(s1[-1])
         print(s1[-1:-5:-1])  
         print(s1[-5:-1])  
    6.统计字符串的个数:
        只需要在打印字符串的时候加入len就可以了。
        print(len(s1))
    7.成员运算:
        print('ll' in s1)
    8.移除字符串首尾指定的字符strip:
        只有在变量名加入.strip()即可,括号里可指定字符,默认是空格。
        name = '  jason  '
        print(len(name))
        res = name.strip()  
        print(res, len(res))
        name1 = '$$$$jas$on$$$$'
        print(name1.strip('$'))
        username = input('username>>>>:').strip()
        if username == 'jason':
        print('我想去干饭了!!!')
    9.按照指定的字符切割字符串split:
	在变量名加入.split('|')即可,split方法切割完的字符串是一个列表,可以使用解压赋值分别赋值给两个变量。
    print(data.split('|'))  # ['jason', '123', 'DBJ']
    name, pwd, hobby = data.split('|')  # 解压赋值
    print(data.split('|', maxsplit=1))  # ['jason', '123|DBJ']
    print(data.rsplit('|', maxsplit=1))  # ['jason|123', 'DBJ']
posted on 2022-03-08 17:35  jilei  阅读(45)  评论(0)    收藏  举报