【上海python培训】Python基础学习之字符编码、交互输入和字符串拼接

时间:2018-03-09 11:15:00   来源:上海尚学堂   阅读:



一、关于python字符编码

1、计算机只能用0和1来进行记录和存储。计算机是二进制。


2、ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。一个英文或者英文符号占一个字节。


3、1980年中国为了解决计算机输入的问题,制定了GB2132编码。2000年后大幅度扩展成为GB18030。解决了汉字输入问题。


4、ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode。Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。Unicode中,一个英文字符占一个字节,一个中文字符占2个字节。


5、UTF-8是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存
 

6、Python2.7默认支持ascii码,因此会出现中文字符输出的问题。需要加上# -*- coding: utf-8 -*-来告诉解释器,用什么字符编码。Python3以上默认采用UTF-8编码,无需加# -*- coding: utf-8 -*-。
 

二、交互输入及字符串拼接


1、 input() 函数

input是输入语句,用于人机交互。 input() 函数接受一个标准输入数据,返回为 string 类型。如果需要输入的未数字,则需要额外定义。

 

sex=input(“Sex:”)   #这里会默认为Sex为字符串类型变量

#需要改为:

sex=int(input("Sex:") #这样Sex的才会变成整形变量

 

 

2、字符串拼接一般有三种方式

    a、用加号拼接(最直观的做法,但是不推荐)

    b、用%占位符拼接

    c、用.format格式化工具进行占位拼接。

具体看以下代码:用%占位符拼接的程序案例

 

 
 1 name=input("name:")
 2 sex=input("sex:")
 3 age=int(input("age:"))   #age是整形变量,需要用int()赋值
 4 
 5 infor='''
 6 ------infor of  %s-----
 7 name:%s
 8 sex:%s
 9 age:%d         #因为age为整形变量,所以用%d
10 
11 '''%(name,name,sex,age)
12 
13 print(infor.title())       #.title格式是让每行第一个字母大写
 

 

代码运行结果:

 

 
 1 C:\Users\Administrator\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/untitled/show530/interduce.py
 2 
 3 name:hongtao
 4 sex:male
 5 age:36
 6 
 7 ------Infor Of  Hongtao-----
 8 Name:Hongtao
 9 Sex:Male
10 Age:36
11 
12 
13 
14 Process finished with exit code 0
 

 

 

用.format格式化工具进行占位拼接的程序案例:

 

 
1 name=input("Please input your name:")
2 sex=input("Please input your sex:")
3 job=input("Please input your job:")
4 saleary=int(input("Please input your saleary:"))
5 
6 
7 
8 print("Information of {_name}\n\tname:{_name}\n\tsex:{_sex}\n\tjob:{_job}\n\tsaleary:{_saleary}".format(_name=name,_sex=sex,_job=job,_saleary=saleary).title())
 

 

代码运行结果:

 

 
 1 C:\Users\Administrator\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/untitled/show530/interduce2.py
 2 
 3 Please input your name:hongtao
 4 Please input your sex:male
 5 Please input your job:it
 6 Please input your saleary:30000
 7 
 8 
 9 Information Of Hongtao
10     Name:Hongtao
11     Sex:Male
12     Job:It
13     Saleary:30000
14 
15 
16 Process finished with exit code 0
 

 

 

另外一种方式需要用到{}。把代码1改一下,改为以下代码:

 

 
 1 name=input("name:")
 2 sex=input("sex:")
 3 age=int(input("age:"))
 4 
 5 infor='''
 6 ------INFOR OF {0}-----     #用{0}表示name
 7 name: {0}
 8 sex: {1}
 9 age: {2}
10 
11 '''.format(name,sex,age)
12 
13 print(infor.title())
 

 

代码运行结果:

 

 
 1 C:\Users\Administrator\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/untitled/show530/interduce3.py
 2 
 3 name:hongtao
 4 sex:male
 5 age:36
 6 
 7 ------Infor Of Hongtao-----
 8 Name: Hongtao
 9 Sex: Male
10 Age: 36
11 
12 
13 
14 Process finished with exit code 0


感谢您阅读上海python培训 文章,更多内容或获取支持请点击浏览 上海python培训
 

分享:0

电话咨询

客服热线服务时间

周一至周五 9:00-21:00

周六至周日 9:00-18:00

咨询电话

021-67690939
15201841284

微信扫一扫