python格式化输出

Posted 默默扫地僧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘xe5x8fxa4xe5x8ax9bxe5xa8x9cxe6x89x8e‘ 字节 => 01  => 用来存储和传输
    # b‘xb9xc5xc1xa6xc4xc8xd4xfa‘ => gbk的编码  一个中文2个字节
    #编码
    bs = s.encode("gbk")
    print(bs)
    
    #解码
    bs = bxb9xc5xc1xa6xc4xc8xd4xfa # GBK
    bs = bxe5x8fxa4xe5x8ax9bxe5xa8x9cxe6x89x8e # 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

 

以上是关于python格式化输出的主要内容,如果未能解决你的问题,请参考以下文章

Python图像resize前后颜色不一致问题

Python snippet(代码片段)

将多个输出中的hls属性设置为单独的片段代码

uvec2片段着色器输出的哪个组合

Golang PrintfSprintf Fprintf 格式化

golang的xorm如何将[]map[string][]byte 格式的数据序列化成json输出