Python 基础二

1.在python基础一里面我们讲到过python2x是用的assic编码 而python3x是用的utf-8的编码,编码的由来和一些规则。

Assic码  最开始美国人发明出来 只是能够打印英文字母和一些特殊字符 ,他们用8位来表示一个字符  2**8=256个  也就是用8个编码代码一个字符,也就是一个字节   8位 = 1 byte 

Unicode  万国码  这时候的万国码能够表示每个国家的字符 但是这时候用的比较繁琐

               初始阶段 :16位 表示一个字符  则 16位=2byte=1个字符

               末世阶段:    32位 表示一个字符       32位=4byte=1个字符

       这个阶段的编码 很浪费硬盘和内存的空间

Utf-8       对Unicode和assic码的优化 不在那么死板 比较灵活最少用1个字节来表示一个字符

               英文   仍然是用8位来表示   1个英文字符=1byte

               欧洲国家   用16位2个字节 来表示一个字符

               亚洲 中国   用24位  3 个字节 来表示一个字符  所以在储存空间上我们比较浪费

Gbk      国标编码  只包含英文和中文  

              英文    用8位来表示1个字符   

              中文    用16位来表示1个 字符     要占用2个字节

转换关系:8bit = 1byte       1024byte = 1kb  1024kb=1MB  1024MB=1GB 

2. in/ not in  

msg = "iloveyou"
print('ilove' in msg)
print('iyou' in msg)
print('iyou' not in msg)

这种输出的结果是bool值  True   False  True   应用举例:

commet = input('请输入你的评论:')

if "苍井空" in comment:

    print("你输入的有敏感字符,请重新输入")

3.while else

i = 0
while True:
    print(i)
    if i = 5 : break
    i=i+1
else:
      print('输出正常结束')

         
        

在这段代码中 遇到了break     后面的else不会执行  只会输出12345

count = 1
flag = True
while flag:
    print(count)
    if count = 5:
        flag = False
count +=1 else: print('循环结束')

  这短代码会输出  12345  循环结束

 

5.格式化输出

dic = {'name':'yy','age':'22','work':'it'}
meg = '''我的名字是%(name)s,我今年%(age)d,我的工作是%                                       (work)s ''' % dic
print(meg)

 

 

 

 6.运算符

or and 运算规则:

  第一种:全都是比较运算  这种运算规则为()>and>or   同一优先级 从左到右依次计算

  第二种:前后都是数值运算  x or y   如果X为True 则返回X 否则返回Y

                                            X and Y  则正好相反   X为True 则返回Y

  第三种:混合  

    bool值  与int的转换     口诀为:非0即True    0位False  

print(int(False))= 0   print(int(True))=1

print(bool(234))=True  

上一篇:三、数据类型初识


下一篇:十九、模块和包