4.20 python 学习

作者: 居二刀 | 来源:发表于2017-04-20 21:41 被阅读0次

    4.20 python 学习

    廖雪峰python教程

    python数据类型

    • 整数 interger
    • 浮点数 float
    • 字符串 string
      ' '和'' ''是一种表示方式,不属于字符串的一部分。字符串内部既包含''又包含'
      需要用转义符——\ 进行标识
      例如: print('I\'m, "\ok\"!')
      \n表示换行
      \t表示制表符
      \表示\本身,r' '表示引号内部的内容不转义
      例如:
    \\\\n\\n\\```
    ```'''多行内容'''```
    * 布尔值
    一个布尔值只有两种值**Ture**,**False**,也就是1和0。
    三种运算:**and**,**or**,**not**
    * 空值 none
    * 变量
    1. 变量名必须是大小写字母,数字,'_'组成,且不能由数字开头。
    2. python是动态语言。不像静态语言,在定义变量时必须指定变量类型。
    * 常量
    Python中,通常用全部大写的变量名表示常量。这仅是一个惯例。
    三种除法:
    * / 浮点除,精确到小数点后面几位。
    * // 地板除,只保留整数部分,结果是整数。
    * % 取余,结果是整数。
    
    ####字符串编码
    字符串也是可以一种**数据类型**,但因计算机**只能对数字进行运算**,就需要将字符串转换为计算机可以识别的数字。
    
    为解决不同语言类型字符串不同的问题,引入统一的字符串编码:**Unicode**
    
    **为了节约空间**把Unicode编码变成**可变长编码——UTF-8编码**:把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
    
    ASCII编码实际上可以被看成是UTF-8编码的一部分。
    
    ASCII编码,Unicode编码,UTF-8编码三者在实际应用中的关系:
    
    **计算机内存中**:统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
    
    **记事本编辑的时**:从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件
    
    **浏览网页的时**:服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。(网页的源码上会有类似的信息,表示该网页正是用的UTF-8编码)。
    
    ####字符串
    
    ```ord('A') #获取字符的整数表示
    65
    chr('66')#把编码转换成对应的字符
    'B'```
    网络上传输,或保存到磁盘,需要把str变为以字节为单位的bytes
    Python对bytes类型的数据用带b前缀的单引号或双引号表示:x=b'ABC'
    ```'ABC'.encode('ascii') #将字符str编码成指定的bytes
    b'ABC'
    b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
    '中文'```
    注意:纯英文的str可以用ASCII编码为bytes;含有中文的str可以用UTF-8编码为bytes;含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围。
    
    **len()**:计算字符串中有多少个字符
    1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节;避免乱码,应始终坚持用UTF-8编码对str和bytes进行转换。
    保存源代码时,就需要务必指定保存为UTF-8编码,并加上:
    ```#!/usr/bin/env python3
     # -*- coding: utf-8 -*-```
    确保按照UTF-8编码进行读取源代码
    
    ####格式化
    
    ```'%.2f' % 3.1415926
    '3.14'```
    **此格式化不是通常理解的格式化——删除数据,而应该理解为程式化,进行简便的程式化的输出。**
    
    %运算符用来格式化字符串。%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
    
    常见的占位符:**%d 整数**、**%f  浮点数**、**%s 字符串**、**%x 十六进制整数**
    
    单独表示%,需要转义,用两个%%表示。
    
    练习题:小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:
    
    **代码**
    
    ```rl = input('小明去年的成绩:')
    rt = input('小明今年的成绩:')
    r = ((int(rt) - int(rl))/int(rl))*100
    print('小明今年成绩提升百分比:%.1f %%' % r)```
    **结果**
    小明去年的成绩:72
    小明今年的成绩:85
    小明今年成绩提升百分比:18.1 %

    相关文章

      网友评论

        本文标题:4.20 python 学习

        本文链接:https://www.haomeiwen.com/subject/fhhrzttx.html