今天主要内容为;
1.'in' or 'not in' 包含的用法
2.while else 的用法.
3.格式化输出
4.运算符
5.逻辑运算
6.编码
1.in 和 not in 的用法:判断子元素是否在原字符串(字典,列表,集合)中.
in 表示包含的意思. comment = '老男孩 is linux Great God'
print('linux' in comment)
错误:
正确:
结论: 使用in命令,判断是否存在该项目,必须与原内容顺序,格式保持一致.否则报 False.
not in 含义:表示匹配的内容不再原内容中.
2.while ... else 格式
介绍:此循环不常用,在循环迭代正常完成后执行,换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行。也就是在循环体内没有break语句、没有return语句,或者没有异常出现.
应用环境:else语句在循环中的一个常见使用案例是实现循环查找。假说你在查找一个满足特定条件的项目(item),同时需要进行附加处理,或者在未发现可接受的值时生成一个错误,没有else语句的话,你需要设置一个标志,然后在后面对其检测,以此确定是否存在满足条件的值。类似Python的许多其他特性,else语句可以生成更加优雅的Python风格的(Pythonic)代码.
总结: while else 如果 循环被break打断,程序不会走else.
实现:
未打印
count = 1
while True:
print(count)
if count == 3:break
count += 1
else:
print('循环正常完毕')
打印:
count = 1
flag = True
while flag:
print(count)
if count == 3:
flag = False
count += 1
else:
print('循环正常完毕')
3.格式化输出
% 占位符 s str 字符串 d digit 数字
1)第一种,固定格式的填充
错误表示引用的类型不对,固定格式要的是数字,得到的是字符串.
更改方式:
(1)此方式保证以后输出的%d是int形式,但是不能保证输入时必须输入数字.
(2)保证输出时是int形式,并且必须输入数字才可以.
2)代码中有%号,如何进行转义:
在格式化输出中单纯的显示% 用%% 解决。
name = input('请输入你的姓名:')
age = input('请输入你的年龄:')
msg = '我叫%s,今年%d岁,学习进度为1%%' % (name,int(age))
print(msg)
3)第二种,字典格式
书写格式错误:
正确格式:
4.常用运算符
1)基本运算
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
算数运算
以下假设变量:a=10,b=20
比较运算
以下假设变量:a=10,b=20
赋值运算
以下假设变量:a=10,b=20
2.逻辑运算
and,or,not
逻辑运算
针对逻辑运算的进一步研究:
1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
例题:
判断下列逻辑语句的True,False。
1,3>4 or 4<3 and 1==1 2,1 < 2 and 3 < 4 or 1>2 3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1 4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2 , x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
第一种:前后都是比较运算。
#优先级:()> not > and > or 同一个优先级,从左至右依次计算。
理解:先算括号内,再算not,然后是and,最后计算or两边的值.
举例:
# print(1 > 2 and 3 < 4 and 3 > 2 or 2 < 3)
# print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
# print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
第二种:前后都是数值运算。
'''
x or y if x True,则 return x,否则 return y
'''
举例:
# print(1 or 3)
# print(1 or 3)
# print(2 or 3)
# print(0 or 3)
# print(-1 or 3)
# print(1 and 2)
# print(0 and 2)
第三种:混合。
举例:
# print(1 > 2 or 3 and 4)
# print(2 or 2 > 3 and 4)
# print(0 or 2 > 3 and 4)
#数据类型转换:
int ---> bool 非0即True,0为False
bool---> int True 1 False 0
print(int(True))
print(int(False))
print(bool(100))
print(bool(0))
5.编码问题
2,计算机在存储,和传输的时候, 01010101(二进制)
初期密码本:
asiic 包含数字,英文,特殊字符。八位
01000001 01000010 01000011 A B C
8位 = 1 byte 表示一个字符。
万国码unicode,将所有国家的语言包含在这个密码本。
初期:16位,两个字节,表示一个字符。
A : 00010000 00010010
中: 00010010 00010010
升级:32位,四个字节,表示一个字符。
A : 00010000 00010010 00010000 00010010
中: 00010010 00010010 00010010 00010010
资源浪费。
升级:utf-8。最少用8位(一个字节),表示一个字符。
英文:a :00010000 用8位表示一个字符。
欧洲:00010000 00010000 16位两个字节表示一个字符。
亚洲 中 :00010000 00010000 00010000 24位,三个字节表示一个字符。
utf-16(不常用)
gbk:国标。
只包含:英文中文。
英文:a :00010000 8位,一个字节表示一个字符。
中文:中:00010000 00010000 16位,两个字节表示一个字符。
gb2312.....
计算机单位的转换:
8 bit = 1byte
1024byte=1kb
1024kb = 1MB
1024MB = 1GB
1024GB = 1TB