第三节 字符编码与二进制
字符编码
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:\Users\google WANG\AppData\Local\Programs\Python\Python36\python.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:\Users\google WANG\AppData\Local\Programs\Python\Python36\python.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
posted on 2019-04-07 14:57 googleWang 阅读(213) 评论(0) 编辑 收藏 举报