python格式化输出

1、格式化输出

把%后面的内容按照位置往前面的%s位置放数据(%s 占位字符串,%d占位数字)

#格式化输出个人信息
name = input("姓名:")
address = input("地址:")
age = input("年龄:")
print("你的姓名是%s,年龄是%s,住址是%s" %(name,address,age))

2、运算符

优先级顺序:() -> not -> and -> or

#() -> not -> and -> or
print
(not 1>4 and 4<8 or 7>9 and 1<6 or 4>6)

#a or b,如果a是零,结果为b。如果a是非零,结果为a
#a and b,和上面or相反
print(1 and 5<3 or 6)

3、编码:ASCII、GBK、unicode、utf-8,用什么编码. 就用什么解码

  1. ASCII码中只有7位有效位,最前面那一位是空着的,是0,ASCII中没有中文编码,ascii  8bit => 1byte  英文 + 数字 + 特殊符号
  2. 为了各国可以使用,提出一个标准=> ANSI =>在ASCII基础上扩展8bit => 16bit给各个国家进行编码 => (中国)GB2312 => GBK(国标码扩展码)=> gbk中包含了我们常用的中文、日文、韩文、繁体字,但gbk无法识别欧洲的文字,国际化的操作依然不能实现 => unicod(万国码)32bit产生,但unicod空间浪费较大且影响传输,如:a是8bit,但unicode记录会是32bit,相当于1M的文件,转换为unicode后将会是4M,随着机能的提高,还有utf-8的产生,unicod可以使用了,把unicode重新进行定义 => uft-8(可变长度的unicode)
  3. python2.x中使用的是ASCII,python3.x内存中使用的unicode,文件存储中使用的utf-8,如果想要存储,必须进行转换utf-8或gbk
  4. encode编码(得到的是bytes类型),decode解码(得到字符串)
    s = "古力娜扎" # 字符串直接就是unicode
    print(s)
    
    # 想要存储. 必须进行转换 => utf-8 或者GBK
    
    # unicode => UTF-8
    
    # b'\xe5\x8f\xa4\xe5\x8a\x9b\xe5\xa8\x9c\xe6\x89\x8e' 字节 => 01  => 用来存储和传输
    # b'\xb9\xc5\xc1\xa6\xc4\xc8\xd4\xfa' => gbk的编码  一个中文2个字节
    #编码
    bs = s.encode("gbk")
    print(bs)
    
    #解码
    bs = b'\xb9\xc5\xc1\xa6\xc4\xc8\xd4\xfa' # GBK
    bs = b'\xe5\x8f\xa4\xe5\x8a\x9b\xe5\xa8\x9c\xe6\x89\x8e' # utf-8
    
    s = bs.decode("utf-8")
    print(s)

4、基本数据类型

int类型的数据. 基本运算 +-*/ // **
bit_length() 二进制长度
a = 3 # 11
print(a.bit_length()) # 二进制长度 2

bool类型. 基本数据类型之间的互相转换
a = True
print(type(a)) # <class 'bool'>

# bool => int
b = int(a) # 把xxx转化成数字
print(b) # True => 1

True => 1
False => 0

print(bool(0)) # False
print(bool(-1)) # True

0 => False
非0 => True

 

posted @ 2019-03-08 23:49  默默扫地僧  阅读(3139)  评论(0编辑  收藏  举报