python中in,not in,比较运算符,格式化输出,编码

一,python中的in,和not in

python中in的作用是检测或查找,例如:

c = ‘你好大号胡覅但是啊飞碟说’
b = ‘你好’ 
print(b in c )
结果:
True

c = ‘你好大号胡覅但是啊飞碟说’
b = ‘大好’     
print(b in c )
结果;
Flase


 检测的时候是从头开始一次检测,并且按照输入的内容查

而not in则是类似的方式,in的否定,再进行判断,于上相同。

二,运算符运用

1.基本运算符

与数学中的加减乘除类似,在基本符号的运用上增加了可让电脑识别的符号,

   if a = 10 b = 21:

+加 - 两个对象相加a + b 输出结果 31
-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -11
*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 210
/除 - x 除以 yb / a 输出结果 2.1
%取模 - 返回除法的余数b % a 输出结果 1
**幂 - 返回x的y次幂a**b 为10的21次方
//取整除 - 返回商的整数部分

9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

以上就是就是基本运算符的运用

2.比较运算符

在基本运算符的基础上,相互比较数值是增加了数学中的比较运算符:

  同样 if a = 10 b = 21

==等于 - 比较对象是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象是否不相等(a != b) 返回 True。
>大于 - 返回x是否大于y(a > b) 返回 False。
<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。(a < b) 返回 True。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 True。

3.逻辑运算符

andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
orx or y布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

逻辑运算符中拥有优先级的问题,()>not>and>or

例如:

c = 23<9 and 9>3 or 6<5 and 8
print(c)

结果:
Flase
'''
首先考虑优先级的问题,and大于or,于是先判断 ‘23<9and9>3’
结果23<9为假,则考虑取值关系, 如果 :
x 为 False,x and y 返回 False,否则它返回 y 的计算值。
所以此处返回False,同理
6<5为假返回false,这时就变成  23<9 or 6<5,
这时开始考虑or的取值问题如果:
 x 是 True,它返回 x 的值,否则它返回 y 的计算值
则最后结果为False
'''

  not and or 是所有优先级中最后计算的符号,优先运算其他符号再计算not and or:

三,格式化输出

方法一:

name = input('请输入姓名')
age =int(input('请输入年龄'))
hobby = input('请输入爱好')
mag = '我的名字是%s,我年龄是%d,我的爱好是%s' %(name,age,hobby)
print(mag)
结果:
请输入姓名dewd
请输入年龄32
请输入爱好dferw
我的名字是dewd,我年龄是32,我的爱好是dferw

方法二:

dic = {'name':'李磊','age':22,'hobby':'剑圣'}
mag = '我的名字是%(name)s,我的年龄是%(age)d,我的爱好是%(hobby)s'% dic
print(mag)

结果是:
我的名字是李磊,我的年龄是22,我的爱好是剑圣

当需要将%打印时,利用两个%%就能输出一个%。

四,编码

1,发电报:滴滴滴滴 实际是高低电平。

同理,利用电流的速度,慢慢发展出现在计算机最初的记录信息的方式

密码本:

今 0000 0001

天 0000 0101

喝 0000 0011

酒 0000 1100

去 0001 1010

呀 0001 0001

0010010 1000011 1100101 010001

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.....

在python2.7中默认为asiic码,所以无法读取中文,而在python3中默认为utf—8支持所有中文输入

当出现乱码问题就是编码的不匹配,需要找到对应的编码。

8 bit = 1byte

1024byte=1kb

1024kb = 1MB

1024MB = 1GB

1024GB = 1TB