• 第三节 字符编码与二进制


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

      

  • 相关阅读:
    在测试自定义starter时,若出现无法找到helloservice的Bean的解决方法
    springboot项目启动后tomcat服务器自动关闭 解决方法
    spring-ioc注解-理解2 零配置文件
    spring-ioc的注解 理解-1
    spring-ioc心得
    springboot的自动配置
    容器关系
    编写程序要做到结构、层次清晰明朗
    maven依赖的jar下载(在指定的仓库中)
    思考:开发的环境问题是一个大问题,也是首先要解决的问题,然后才能顺畅进入开发工作?
  • 原文地址:https://www.cnblogs.com/googlewang/p/10665412.html
Copyright © 2020-2023  润新知