数据类型的内置方法
今日内容笔记
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']
浙公网安备 33010602011771号