第三节 字符编码与二进制

字符编码
2**8就是2的八次方
二进制到字符没有转换,通过字符编码进行转换
二进制到数字有转换就是0 1
数字就代表字母,固定死一张表
1byte=8bit

PC支持GB18030 手机MP3支持GB2312
从GB2312 GBK GB18030

每个国家都搞自己的,所以ISO组织统一编码为unicode 统一码 万国码
ASCII码占8bit
unicode是占16bit
所以弄出一个可变长的编码集 utf-8:英文字符存的是ASCII格式占一个字节,存汉字是3字节
字符编码的发展历史:ASCII 255 1BYTE
GB2312 支持7000多汉字 1980年
GBK1.0 支持20000多汉字 1995年
GB18030支持27000多汉字 2000年
unicode 2byte
utf8-英文是1byte 中文是3byte

在python2里写中文,先声明一个字符集
# -*- coding:utf-8 -*- //意思是告诉python别用ascii处理了,用utf-8来处理
name = "你好,世界"
10、用户交互程序
单行注释#
多行注释''' 开始'''结束
'''有打印多行的作用

注释多行
'''

name = "你好,世界" #被注释掉
print(name)#被注释掉

  


'''
print(msg) #没有被注释掉

如果没有'''的尾部结束,那么是注释掉所有


msg='''
name = "你好,世界"
print(name)
'''
print(msg)
出现的结果是
name = "你好,世界"
print(name)

用户输入:
username = input("username:") 
password = input("password:")
print (username,password)

输出结果:
username:google //输入之后给变量username password
password:wang
google wang

  

打印一个变量的数据类型,你默认的所有输入都是字符串,想要输入是数字,要强制转换成数字

age =input("age:")
print(type(age)) #打印数据类型。默认都是字符串
输出结果 age:32 <class 'str'> #可以看出默认是字符串,只是看上去是数字,其实是字符串

  


强制转换成数字:

age =int (input("age:")) #nterger 把结果转换成数字
print(type(age),type(str(age)))

输出结果
age:20
<class 'int'> <class 'str'>#已转成数字

 

  

例1 字符串拼接输出

name = input ("name:")
age = input("age:")
job = input("job")
salary = input("salary")

info = '''
-----------------info of %s---------------
name=%s
age=%s
job=%s
salary=%s
'''%(name, name,age,job,salary) //这里第一个name不能缺少,是和上面进行关联的,第一个name是info那里的%s, 
print(info)

输出结果:
name:google
age:23
jobIT
salary30000

----------------- info of google ---------------
name:google
age : 23 
job : IT
salary : 30000


Process finished with exit code 0

%d数字 %f小数

  

字符串输出:①是% ②是format ③是format+数组

name = input ("name:")
age = int(input("age:")) 转换成整形,和下面的%d是对应的
job = input("job")
salary = input("salary")

info = '''
-----------------info of %s---------------
name=%s
age=%d
job=%s
salary=%s
'''%(name, name,age,job,salary) //这里第一个name不能缺少,是和上面进行关联的,第一个name是info那里的%s, 
print(info)

  

例2:

name1 = input ("name:")
age1= input("age:")
job1 = input("job:")
salary1= input("salary:")

info2 = '''
-----------------info of {_name}--------------- //这里是进行上下关联的,是值传参的作用
name:{_name}
age:{_age}
job:{_job} 
salary:{_salary}
'''.format(_name=name1, //将_name与上面的name进行关联赋值,将name1输入的值付给_name,并通过name:那里输出
_age=age1,
_job=job1,
_salary=salary1) //只能是=号,用于赋值,不能是:
print(info2)

输出结果
name:google
age:23
job:it
salary:30000

-----------------info of google---------------
name:google
age:23
job:it 
salary:30000


Process finished with exit code 0

  

例3:

name1 = input ("name:")
age1= input("age:")
job1 = input("job:")
salary1= input("salary:")

info3 = '''
-----------------info of {0}--------------- //这里是进行上下关联的,是值传参的作用
name:{0}
age:{1}
job:{2} 
salary:{3}
'''.format(name1,age1,job1,salary1) //变量名要对上,format只能用这两种形式,顺序不能变,只能通过0 1
print(info3)

输出结果
name:google
age:23
job:it
salary:30000

-----------------info of google---------------
name:google
age:23
job:it 
salary:30000


Process finished with exit code 0

  

例3:

name1 = input ("name:")
age1= input("age:")
job1 = input("job:")
salary1= input("salary:")

info3 = '''
-----------------info of {0}--------------- //这里是进行上下关联的,是值传参的作用
name:{0}
age:{1}
job:{2} 
salary:{3}
'''.format(age1,name1,job1,salary1) //如果将name1和age1对换位置,那么第一个输出的值就是age1,第二个输出的值就是name1
print(info3)

 


"C:Usersgoogle WANGAppDataLocalProgramsPythonPython36python.exe" D:/projects/test.py
name:google
age:30
job:IT
salary:30000

-----------------info of 30---------------
name:30 //就把第一个输出的值赋值给了name(这里的name不是变量,只是一个标识符)
age:google
job:IT 
salary:30000


Process finished with exit code 0

  

例4:

name1 = input ("name:")
age1= input("age:")
job1 = input("job:")
salary1= input("salary:")

info3 = '''
-----------------info of {0}--------------- //这里是进行上下关联的,是值传参的作用
name:{1} //format里的取值是0 1 2 3这样排列的,在输出的n将name里取的是1,所以取的是name1的值,age里取的是0,所以取的是age1的值,所以将name1的值付给name,将age1的值付给age
age:{0}
job:{2} 
salary:{3}
'''.format(age1,name1,job1,salary1) //如果将name1和age1对换位置,那么第一个输出的值就是age1,第二个输出的值就是name1
print(info3)

 


"C:Usersgoogle WANGAppDataLocalProgramsPythonPython36python.exe" D:/projects/test.py
name:google
age:30
job:IT
salary:300000

-----------------info of 30---------------
name:google
age:30
job:IT 
salary:300000


Process finished with exit code 0

 

  

原文地址:https://www.cnblogs.com/googlewang/p/10665412.html