• python笔记二(数据类型和变量、编码方式、字符串的编码、字符串的格式化)


    一、数据类型

      python可以直接处理的数据类型有:整数、浮点数、字符串、布尔值、空值。

      整数

      浮点数

      字符串:双引号内嵌套单引号,可以输出 i'm ok.

          也可以用来实现, 换行 table 

          多行字符串用  ''' '''

      布尔值: 可以对布尔值进行与或非运算/ 与and 或or 非not

      空值

    二、变量

       a = 1/ a = "nadech"    与java不同,python在声明一个变量的时候不用指定变量的类型,直接赋值就可以了

      在 执行a =1 的时候,python解释器实际上执行了两步操作:创建整数1;声明变量a,并且把变量a指向整数1

      常量PI,即使声明为了常量,但是python没有真正的常量

      python中整数除法是精确的:10/3 =3.333333333333  地板除法:10//3=3

      保留两个小数点

     

    复制代码
    a = 1
    b = 3
    print(a/b)
    #方法一:
    print(round(a/b,2))
    #方法二:
    print(format(float(a)/float(b),'.2f'))
    #方法三:
    print ('%.2f' %(a/b))
    复制代码

    三、编码方式

      几种编码的方式和编码的进化!!!!

      ASCII编码,只能编码127个字符,所以数量有所限制

      GB2312(2个字节)中国用来编写中文并且建立在ASCII码上,不能与ASCII冲突。之后,韩国、日本都有自己的编码 and so on.

      Unicode编码(2个字节),把所有语言都统一到一套编码里。缺点是2个字节,浪费存储空间。

      UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。UTF-8的好处就是兼容ASCII码,节省空间。

        用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。

        浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。

     四、python字符串的编码/字符串的格式化输出

      单个字符的编码:

    >>> ord('爱')
    29233
    >>> chr(29233)
    '爱'
    >>>

      多个字符的编码:

      当字符的内容只包含ASCII编码的内容时,可以直接使用:

    1
    2
    >>> b"I LOVE YOU!"
    b'I LOVE YOU!'<br><br><br>

      

    1
    2
    >>> "I LOVE YOU!".encode()
    b'I LOVE YOU!'

      多个字符且包含中文的时候,只能使用encode和decode

    复制代码
    #从这里也可以看出在utf-8的编码中,一个中文需要三个字节
    >>> "我爱你".encode("utf-8") b'xe6x88x91xe7x88xb1xe4xbdxa0'
    #这里特别要注意b'xe6'和‘xe6'表示的完全不一样,前边表示一个bytes类型的数据,后者是一个str类型的字符串 >>> b'xe6x88x91xe7x88xb1xe4xbdxa0'.decode("utf-8") '我爱你'

    复制代码

      len()可以用来计算str或者是bytes的长度

    >>> len('我爱你')
    3
    >>> len( b'xe6x88x91xe7x88xb1xe4xbdxa0')
    9

      字符串的格式化,除了%s 还有%d %f %x等占位符,但是由于都可以用%s来输出,所以就没有必要使用其他的了。

      除此之外还有 str.format()方式也可以用来格式化字符串,但是没有%s好用。但是当输入的字符串内容本身含有%,例如 7%时,需要使用 %%转义符

    >>> "hello %s"%"nadech"
    'hello nadech'
    
    >>> nadech = "YGR"
    >>> "hello %s"%nadech
    'hello YGR’
  • 相关阅读:
    uvalive 3971 Assemble
    poj 1064 Cable master
    1130mysql explain中的type列含义和extra列的含义
    1128ORDER BY的原理
    1125Sending data
    1125MySQL Sending data导致查询很慢的问题详细分析
    1125mysqbinlog日志
    1122Shell脚本之利用mysqldump备份MySQL数据库
    1122从业务优化MYSQL
    1122MySQL性能优化之 Nested Loop Join和Block Nested-Loop Join(BNL)
  • 原文地址:https://www.cnblogs.com/jjchi/p/9717423.html
Copyright © 2020-2023  润新知