• Python 六大标准基础数据类型


    (一) Number数字类型

    整数类型(int)

    int 整型(正整数 0 分整数)
    type 获取一个值的类型
    #案例1:正整数
    int_var1 = 1 	#正整数
    print(int_var1,type(int_var1))
    
    #案例2:定义变量为0的整数
    int_var2 = 0 	#0
    print(int_var2,type(int_var2))
    
    #案例3:负整数
    int_var3 = (-1) #负整数
    print(int_var3,type(int_var3))
    

    浮点数类型(float)

    float:正浮点数  负浮点数
    #案例1:正浮点数
    float_var1 = 1.2 	#正浮点整数
    print(float_var1,type(float_var1))
    
    #案例2:负浮点数
    float_var2 = (-1.3) #负浮点数
    print(float_var2,type(float_var2))
    

    布尔类型(bool)

    bool: 真(True)	假(False)
    #案例1:真(True)
    a = 10
    b = 5
    res = a > b
    print(res,type(res))
    #运行结果返回:True <class 'bool'>
    
    #案例2:假(False)
    a = 10
    b = 5
    res = b > a
    print(res,type(res))
    #运行结果为:False <class 'bool'>
    

    复数类型(comolex)

    复数(complex): 实数 + 虚数
    例:4 + 3j 
    4是实数
    3j是虚数
    
    #案例1:
    complex_var = 3-2j
    print(complex_var)
    print(type(complex_var))
    #运行结果:
    	(3-2j)
    	<class 'complex'>
    
    #案例2:complex(实数,虚数)
    complex_var = complex(3,-2)
    print(complex_var)
    print(type(complex_var))
    #运行结果:
    	(3-2j)
    	<class 'complex'>
    
    #案例3:只有虚数,没有实数
    comple_var = 4j
    print(comple_var)
    print(type(comple_var))
    #运行结果:
    	4j
    	<class 'complex'>
    

    (二) 容器类型分类:

    字符串(str):

    1. 字符串的概念:用引号(""或'')引起来的就是字符串.
    2. len 获取容器类型数据的长度,元素的总个数

    (1)单引号字符串

    str_var = '51自学Python'
    print(str_var,type(str_var))
    #运行结果:
    	51自学Python <class 'str'>
    

    (2)双引号字符串

    str_var1 = "文能提笔安天下,武能上马定乾坤."
    print(str_var1,type(str_var1))
    #运行结果:
    	文能提笔安天下,武能上马定乾坤. <class 'str'>
    

    (3)三引号字符串(支持跨行操作)

    msg = """
    文能提笔安天下,
    武能上马定乾坤.
    """
    print(msg,type(msg))
    #运行结果:
    	文能提笔安天下,
    	武能上马定乾坤.
    	<class 'str'>
    

    (4)元字符串r"字符串"不转义字符,原型化输出字符串

    str_var = r"E:文档2019年python全栈"
    print(str_var)
    #运行结果:
    	E:文档python全栈
    

    (5)字符串,可获取,不可修改,有序

    #正向索引   0 1 2 3 4 5 6 7 8 9
    str_var = "黑夜给我了黑色的眼睛"
    #反向索引-10-9-8-7-6-5-4-3-2-1
    
    #案例1:
    res = str_var[1]#正向索引
    print(res)
    #运行结果:
    	夜
     
    #案例2:
    res = str_var[-2]#反向索引
    print(res)
    #运行结果:
    	眼
    

    列表类型(list):列表可获取,可修改,有序.

    (1)定义空列表

    list_var = []
    print(list_var,type(list_var))
    #运行结果:
    	[] <class 'list'>
    

    (2)索引取值

    # 1.获取列表里面的值
    #			0  1  2  3  4  5   6   7
    list_var = [11,22,33,44,55,66,"aa","bb"]
    res = list_var[1]#正向取值
    print(res)
    #运行结果:
    	22
     
    # 获取最后一个值 (python特有) res => result
    list_var = [11,22,33,44,55,66,"aa","bb"]
    #		   -8  -7 -6 -5 -4 -3  -2   -1
    res = list_var[-1]#逆向索引
    print(res)
    #运行结果:
    	bb
    

    (3)修改列表里面的值

    list_var = [11,22,33,44,55,66,"aa","bb"]
    list_var[-1] = 88
    print(list_var)
    #运行结果:
    	[11, 22, 33, 44, 55, 66, 'aa', 88]
    

    元组类型(tuple):可获取,不可修改,有序

    (1)定义一个空元组

    tuple_var = ()
    print(tuple_var,type(tuple_var))
    #运行结果:
    	() <class 'tuple'>
    

    (2)逗号是元组的标志性符号,如果想要表达空元组,可以用();

    tuple_var = (1,)
    print(tuple_var,type(tuple_var))
    #运行结果:
    	(1,) <class 'tuple'>
    

    (3)索引获取元组里面的值

    #             0   1    2    3
    tuple_var = ("aa","bb","cc","dd")
    #            -4   -3   -2   -1
    print(tuple_var,type(tuple_var))
    print(tuple_var[1])
    #运行结果:
    	('aa', 'bb', 'cc', 'dd') <class 'tuple'>
    	bb
    

    集合(set):集合类型作用:交差并补,操作无序,自动去重

    set_var = {"唐僧","悟空","八戒","沙僧"}
    print(set_var)
    

    (1) 是否可以获取集合中的值?不可以

    set_var = {"唐僧","悟空","八戒","沙僧"}
    print(set_var[0])
    #运行结果:
    	TypeError: 'set' object does not support indexing
    	(类型错误:“set”对象不支持索引)
    

    (2) 是否可以设置集合中的值?不可以

    set_var = {"唐僧","悟空","八戒","沙僧"}
    set_var[0] = 1
    print(set_var)
    #运行结果:
    	TypeError: 'set' object does not support item assignment
    	(类型错误:“set”对象不支持项分配)
    

    (3) 可以自动去重

    set_var = {"唐僧","悟空","八戒","沙僧","悟空","八戒"}
    print(set_var)
    #运行结果:
    	{'唐僧', '悟空', '八戒', '沙僧'}
    

    (4) 定义空集合

    set_var = set()
    print(set_var,type(set_var))
    #运行结果:
    	set() <class 'set'>
    

    字典(dict):由键值对存储的数据,字面上有序,本质上无序

    语法:
    	dic_var = {"键1":"值1","键值2":"值2"}
    	由键值对存储数据,左边是键,右边是值,键值之间用冒号隔开.
    3.6版本之前都是 字典和集合都是无序的
    3.6版本之后,把字典的字面顺序记录下来,当从内存拿数据的时候,
       根据字面顺序重新排序,所以看起来像有序,但本质上无序
        dict_var = {"罗贯中":"三国演义","曹雪芹":"红楼梦","施耐庵":"水浒传","吴承恩":"西游记"}
    print(dict_var)
    

    获取字典当中的值

    dict_var = {"罗贯中":"三国演义","曹雪芹":"红楼梦","施耐庵":"水浒传","吴承恩":"西游记"}
    print(dict_var["罗贯中"])
    

    修改字典当中的值

    dict_var = {"罗贯中":"三国演义","曹雪芹":"红楼梦","施耐庵":"水浒传","吴承恩":"西游记"}
    dict_var['曹雪芹'] = "石头记"
    print(dict_var)
    

    结论:

    字典当中的键和集合当中的值,底层都是通过哈希算法出来的;
    但凡使用了哈希算法,那么这个数据就是散列无序的,因为要把数据均匀的分布存储在内存当中,减少哈希碰撞
    
    可哈希数据:Number(int float bool complex) str tuple 不可变的数据.
    不可哈希的数据:list set dict
        
    定义字典的语法是允许的,但是不要使用,定义字典的键,一般按照变量名的方式定义字符串.
    
    集合的值也必须可哈希(不可变数据)
    但凡是不可哈希的数据都不能作为集合的值
    setvar = {1,9,"abc",(1,2,3),[1,2,3]}   #error
    setvar = {1,9,"abc",(1,2,3,[1,2,3]) }  #error
    print(setvar)
    
  • 相关阅读:
    Hibernate的一些操作
    工作心得
    放款流程
    关于C#事件的自我构想和学习
    委托之winForm窗口间传递数据
    C#中string[]数组和list<string>泛型的相互转换 【转】
    关于注册界面中的一些规则设计时要注意
    系统界面设计---风格
    关于系统注册,做卡号重校验
    关于系统设计中的硬件开发
  • 原文地址:https://www.cnblogs.com/CrownYP/p/11340678.html
Copyright © 2020-2023  润新知