python学习-字符编码区别

一、字符编码

ASCII编码127个字符,占8bit位,1byte。

GB2312编码7445个字符,包括6763和汉字和682个其他符号。(1980年)

GB18030编码27484个字符,同时收录了藏文、蒙文、维吾尔文等少数民族文字,PC必须支持,嵌入式可以例外。(2000年)

从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即相同字符编码相同,后面标准支持更多的额字符。在这些编码中,英文和中文可以统一地处理。

区分方法是高字节的最高位不为0,按照程序员的称呼,BG2312、GBK到GB18030都属于双字节字符集(BDCS)。

为了统一字符编码,国际标准化组织新出一种可以代表所有字符和符号的编码:Unicode

Unidode默认每个字符(不管中文,英文都)占2byte即16bit。

utf-8可变长字符编码,utf-8中文占3byte,英文占1byte。

python 3中默认支持utf-8

python 2中要写中文要声明字符集:“# -*- coding:utf-8 -*-”

 

二、字符编码转换关系:

 

 

三、用户交互程序

 

用户输入

1.注释单行:#

注释多行: '''开始 '''结束, 或者"""开始 """结束。

shell 脚本中单引号和双引号有区别: ‘’不会 转义 “”会转义

python中单引号和双引号作用一样。

2.格式化输出

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# author liliang

 

name = input("name:")

age = int(input("age:"))

print(type(age))

#age = (input("age:")))

#print(type(age),type( str(age) ))

job = input("job:")

salary = input("salary:")

 

info = '''

------------ info of %s ----------------

Name:%s

Age:%d

Job:%s

Salary:%s

''' % (name,name,age,job,salary)

 

#%s是字符string %d是数字digital %f是浮点小数float

 

print(info)

#括号中带“”是变量,不带“”是数值

 

第一种方法:


第二种方法:官网建议

info2 = '''

------------ info of {_name} ----------------

Name:{_name}

Age:{_age}

Job:{_job}

Salary:{_salary}

''' .format (_name=name,             

     _age=age,             

     _job=job,

             _salary=salary)

print(info2)

 第三种方法:

info3 = '''

-------------info of {0} ------------------

Name:{0}

Age:{1}

Job:{2}

Salary:{3}

'''.format(name,age,job,salary)

 

print(info3)

 

布尔值:

posted @ 2018-12-09 22:30  绝望前奏曲  阅读(182)  评论(0编辑  收藏  举报