zoukankan      html  css  js  c++  java
  • 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编码的内容时,可以直接使用:

    >>> b"I LOVE YOU!"
    b'I LOVE YOU!'


      

    >>> "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’

      

      

      

  • 相关阅读:
    HDU 2196 Computer
    HDU 1520 Anniversary party
    POJ 1217 FOUR QUARTERS
    POJ 2184 Cow Exhibition
    HDU 2639 Bone Collector II
    POJ 3181 Dollar Dayz
    POJ 1787 Charlie's Change
    POJ 2063 Investment
    HDU 1114 Piggy-Bank
    Lca hdu 2874 Connections between cities
  • 原文地址:https://www.cnblogs.com/nadech/p/7816780.html
Copyright © 2011-2022 走看看