字符编码
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