• Python基础二


    一、格式化输出:占位符

    编写代码,输出以下内容:会发现,用字符拼接的方式还难实现这种格式的输出,需要把要打印的格式先准备好

    由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系

    example= '''
    -  -  -  -  -  -  - THE Author is %s -  -  -  -  -
    NAME :   %s
    Age  :   %d
    Sex  :   %s
    Hobby:   %s
    -  -  -  -  -  -  THE  END-  -  -  -  -  -  -  -  -  -
    '''%('jerd','Jockfi',int('20'),'gentleman','basketball')
    print(example)

    #这里的每个%s就是一个占位符,代表后面括号里的jerd %s就是代表字符串占位符 还有%d,是数字占位符
    第二种方法,利用字典的格式

    #第一种写法:
    name = input('请输入你的名字:')
    age = int(input('请输入你的年龄:'))
    score = int(input('请输入你的成绩:'))
    msg = '我叫%s,今年%d岁,成绩为%d分'%(name,age,score)
    print(msg)
    
    #第二种写法:利用字典的格式
    name1 = input('请输入你的名字:')
    age1 = input('请输入你的年龄:')
    score1 = input('请输入你的成绩:')
    
    msg = '我叫%(name)s,今年%(age)s岁,成绩为%(score)s分'
       %{'age':age1,'name':name1,'score':score1}
     print(msg)
    View Code

    问题:现在有这么行代码

    msg = "我是%s,年龄%d,目前学习进度为80%"%('金鑫',18)
    print(msg)

    这样会报错的,因为在格式化输出里,你出现%默认为就是占位符的%,但是我想在上面一条语句中最后的80%就是表示80%而不是占位符,怎么办?
    %%代表一个"%"符号

    msg='我是%s,我的年龄是:%d,目前学习进度为80%%'%('jerd',20)
    print(msg)
    msg='我是%s,我的年龄是:%d,目前学习进度为%d%%'%('jerd',20,80)
    print(msg)

    二、类型转换和查看数据类型

    把字符型变为整型 int(str) 整型变字符型 str(int)

    number='12'
    count=1
    str(count)
    print(number,type(number),type(int(number)))
    print(count,type(count),type(str(count)))
    整型,字符型-->bool型
    a=-2
    b=bool(a)
    print(b,bool(1),bool(0),bool(""),bool(" "))
    #字符型,bool值 -->int型
    a=int('1')  #必须为数字
    b=int(3>2)
    print(a,b)
    #bool值,int型-->str型
    b=str(3>2)
    a=str(1)
    print(a,type(a),b,type(b))

    三、编码:

    1.计算机:

    储存文件,或者是传输文件,实际上是010101010
    计算机创建初期,美国,二进制,
    密码本:
    ascii
    00000001
    01000001 01000010 01000011 ABC

    2.ASCII码的历史

    ASCII是英文大小写字母,数字,标点符号的参照表。由8位字节表示一个字符。ASCII最左边的一位是始终是0,
    不会改变。这一位是设计者预留的。
    为什么预留:英文的字母,数字,标点符号,用7位字节就能全部表示出来,设计者为了ASCII码以后的发展,就预留了一位

    3.unicode

    因为全球语言很多,ascii不足以存储这么多对应关系,创建了一个超级密码本:万国码unicode
    8 位 == 1个字节.
    hello h一个字符,e一个字符,he就不是一个字符.
    中国:中是一个字符,国是一个字符.


    1.unicode :
    创建之初,16位,2个字节,表示一个字符.
    英文: a b c 六个字节 一个英文2个字节
    中文 中国 四个字节 一个中文用2个字节
    改成 32位,4个字节,表示一个字符.
    a 01000001 01000010 01000011 00000001
    b 01000001 01000010 01100011 00000001
    中 01001001 01000010 01100011 00000001
    浪费资源.


    2.对Unicode进行升级: utf-8
    utf-8 用最少用8位数,去表示一个字符.
    英文: 8位,1个字节表示.
    欧洲文字: 16位,两个字节表示一个字符.
    中文,亚洲文字: 24位,三个字节表示.
    utf-16 用最少用16位数.

    3.gbk:
    国标,只能中国人自己用, 一个中文用16位,两个字节表示.

  • 相关阅读:
    25、Base64
    24、AES RSA加密处理记录
    23、获取app所占据的内存
    22、DDMS(转载)
    21、HierarchyViewer使用记录
    kubernetes 操作 serviceaccounts
    删除dashboard
    数据库建库指定UTF-8和jdbc连接字符串
    apt 被卸载
    EasyReport报表工具部署
  • 原文地址:https://www.cnblogs.com/strive-man/p/8335745.html
Copyright © 2020-2023  润新知