zoukankan      html  css  js  c++  java
  • python认知及六大标准数据类型

    ---
    typora-root-url: assets
    
    ---
    
    ### -python的认知
    
    ```
    89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido). 
    python具有非常多并且强大的第三方库,使得程序开发起来得心应手. Python程序员的信仰:人生苦短,我用python!
    
    (1)版本:
    python2x:原码不规范,重复较多
    python3x:原码清晰,简单
    	
    (2)编译型与解释型语言区别:
    	编译型:一次性,把所有代码编译成机器能识别的二进制,在运行
    		代表语言:c,c++
    		优点: 执行速度块
    		缺点: 开发速度慢,调试周期长
    		
    	解释型:代码从上到下一行一行解释并运行 
    		代表语言:python,php
    		优点: 开发效率快,调试周期短
    		缺点: 执行速度相对慢
    	*python语言可以直接在linux和windows跨平台使用.
    
    (3)python的解释器:
        (1)Cpython(官方推荐)
        	转化成c语言能识别的二进制码
        (2)Jpython
        	转化成java语言能识别的二进制码
        (3)其他语言解释器
        	把python转化成其他语言能识别的二进制码
        (4)PyPy
        	将所有代码一次性编译成二进制码,加快执行效率(模仿编译型语言的一款python解释器)
    
    ```
    
    ### -注释: 就是对代码的解释 方便大家阅读代码
    
    ```
    (1)注释的分类
    (2)注释的注意点
    (3)注释的排错性
    ```
    
    ### -变量:可以改变的量,实际具体指的是内存中的一块存储空间
    
    ```
    (1)关于变量的含义
    (2)变量的声明
    (3)变量的命名
    (4)变量的交换
    
    *常量就是不可改变的量,python当中没有明确定义常量的关键字,所以约定俗成把变量名大写就是常量,表示不可改变
    ```
    
    ### -python的六大标准数据类型
    
    ```
    (1)Number   数字类型(int  float  bool  complex)
    (2)String	字符串类型
    (3)List		列表类型
    (4)Tuple	元组类型
    (5)Set		集合类型
    (6)Dict		字典类型
    
    ->(1)Number 	数字类型分类
    int :    		整数类型    (正整数[各种进制] 负整数 0)
    float:   		浮点数类型  (1普通小数 2科学计数法表示的小数 例:a = 3e-5  #3e-05 )
    bool:    		布尔值类型  (真True和假False)
    complex: 		复数类型    (声明复数的2种方法) (复数用作于科学计算中,表示高精度的数据,科学家会使用)	
    ```
    
    ### -自动类型转换
    
    ```
    当2个不同类型的数据进行运算的时候,默认向更高精度转换
    数据类型精度从低到高:bool int float complex
    ```
    
    ### -强制类型转换
    
    ```
    -->Number 部分
    int :     整型   浮点型 布尔类型  纯数字字符串
    float:    整型   浮点型 布尔类型  纯数字字符串
    complex:  整型   浮点型 布尔类型  纯数字字符串 (复数)
    bool: 	  ( 容器类型数据  /  Number类型数据 都可以 )
    ```
    
    ```
    -->容器类型部分
    str:	  ( 容器类型数据  /  Number类型数据 都可以 )
    list:  	  字符串 列表 元组 集合 字典
    tuple: 	  字符串 列表 元组 集合 字典
    set:   	  字符串 列表 元组 集合 字典  (注意:相同的值,只会保留一份)
    dict:	  使用 二级列表 或 二级元组   (二级集合语法上不错,但是无序,不建议使用)
    ```
    
    ### -python运算符
    
    ```
    (1)算数运算符:  + - * / // % **
    (2)比较运算符:  > < >= <= == !=   
    (3)赋值运算符:  = += -= *= /= //= %= **=
    (4)成员运算符:  in 和 not in (针对于容器型数据)
    (5)身份运算符:  is 和 is not (检测两个数据在内存当中是否是同一个值)  
    (6)逻辑运算符:  and or not
    (7)位运算符:    & | ~ ^ << >>
    ```
    
    ### 在同一文件(模块)里,变量存储的缓存机制 (仅对python3.x版本负责 了解)
    
    ```
    -->Number 部分
    1.对于整型而言,-5~正无穷范围内的相同值 id一致
    2.对于浮点数而言,非负数范围内的相同值 id一致
    3.布尔值而言,值相同情况下,id一致
    4.复数的id标识都不相同(在 实数+虚数 这样的结构中)
    ```
    
    ```
    -->容器类型部分
    5.字符串而言,字符串值相同情况下,id一致
    6.列表,元组,字典,集合无论什么情况 id标识都不同(但空元组的id标识一样)
    ```
    
    ### 不同文件(模块)里,部分数据驻留小数据池中 (仅对python3.x版本负责 了解)
    
    ```
    python提前在内存中创建了-5 ~ 256 范围的整数,驻留在了内存的一块区域.
    如果是不同文件(模块)的两个变量,并在此范围具有了相同的值,
    那么id一致.
    
    小数据池只针对:int ,string,bool,以及空元祖(),None关键字   有效
    ```
    
    ```
    对于字符串来说:
    (1)字符串的长度为0或者1,默认驻留小数据池
    ```
    
    ![1](/../assets/1.png)
    
    ```
    (2)字符串的长度>1,且只含有大小写字母,数字,下划线时,默认驻留小数据池
    ```
    
    ![11](/2.png)
    
    ```
    (3)用乘法得到的字符串,分两种情况。
    1)乘数为1时:
    无论什么字符串 * 1 , 都默认驻留小数据池
    2)乘数大于1时:
    乘数大于1,仅包含数字,字母,下划线时会被缓存,但字符串长度不能大于20
    ```
    
    ![8](/8.png)
    
    ```
    ### 指定驻留 ###
    from sys import intern
    a = intern('大帅锅&*^^1234'*10)
    b = intern('大帅锅&*^^1234'*10)
    print(a is b)
    #可以指定任意字符串加入到小数据池中,无论声明多少个变量,只要此值相同,都指向同一个地址空间
    ```
    
    ![9](/9.png)
    
    ```
    *无论是缓存机制还是小数据池的驻留机制,都是为了节省内存空间,提升代码效率
    ```
    
    

      

  • 相关阅读:
    接口--类似于抽象类但不是抽象类
    final
    抽象类
    static示例
    深入理解static关键字
    IDEA 出现错误:找不到或无法加载主类
    IDEA的java源码文件左边有一个红色的J
    this关键字
    构造方法、方法的重载
    访问控制符
  • 原文地址:https://www.cnblogs.com/huangjiangyong/p/10765203.html
Copyright © 2011-2022 走看看