• python的基本数据类型简介


    python的基本数据类型有:数字-numbers、字符串-str、列表-list、元组-tuple、字典-dict、布尔-bool、集合-set

    下面来个概览先大概了解一下,后面博文中咱再细说~

    1.数字-numbers

      数字类型就是我们日常生活中所说的数字,python中的数字不分是整数还是小数,正数还输负数,超长数,python中的int足够强大到可以表示任意的数

    num1 = 10
    num2 = -10
    num3 = 1.1
    num4 = -1.1
    num5 = 222222222222222222222222222222222222222222222222222222
    num6 = 3.14j
    print(type(num1), num1)
    print(type(num2), num2)
    print(type(num3), num3)
    print(type(num4), num4)
    print(type(num5), num5)
    print(type(num6), num6)
    

    输出结果:

    <class 'int'> 10
    <class 'int'> -10
    <class 'float'> 1.1
    <class 'float'> -1.1
    <class 'int'> 222222222222222222222222222222222222222222222222222222
    <class 'complex'> 3.14j
    

    注:python3中只有int、float、complex类型,已经没有Lang类型了,超长数据也是int类型

    数据类型没有什么重要的方法,如果硬要说一个相关的就是int(),float(),可以把其他类型转换为int类型、float类型

    s = "123"
    i = int(s)
    f = float(s)
    print(type(i),i)
    print(type(f),f)
    

    输出结果:

    <class 'int'> 123
    <class 'float'> 123.0

    2.字符串-str

    引号引起来的一串字符,这串字符中可以有数字、字母、符号、汉字都可以

    python中既可以用单引号也可以用双引号,不过要成对出现,如果字符串内部有单引号,那整个串就用双引号,反之,串内有双引号,整个串就用双引号

    str1 = "123()— = + !@#¥%……*( 哈哈哈"
    str2 = '字符串内部有"双引号'
    str3 = "字符串内部有'双引号"
    print(type(str1), str1)
    print(type(str2), str2)
    print(type(str3), str3)

    打印结果为:

    <class 'str'> 123()— = + !@#¥%……*( 哈哈哈
    <class 'str'> 字符串内部有"双引号
    <class 'str'> 字符串内部有'双引号

    注:python3中不用写【# -*- coding: UTF-8 -*-】就可以直接打印中文

    str类型的方法很多很多,先给一个list,在后面会专门来一个str方法的讲解

    capitalize、casefold、center、count、encode、endswith、expandtabs、find、format、format_map、index、isalnum、isalpha、isascii、isdecimal、isdigit、isidentifier、islower、isnumeric、isprintable、isspace、istitle、isupper、join、ljust、lower、lstrip、maketrans、partition、replace、rfind、rindex、rjust、rpartition、rsplit、rstrip、split、splitlines、startwith、strip、swapcase、title、translate、upper、zfill,还有一些魔法方法,其中重要的必须要知道的:find、format、index、join、replace、split、strip

    3.列表-list

    由中括号括起来的一串字符,这就是列表,列表可容一切字符

    lst = [1, "a", True, (1, 2), [12, "aa"], {"a": 1, "b": "b"}]
    print(type(lst))
    print(lst)
    

    输出结果

    <class 'list'>
    [1, 'a', True, (1, 2), [12, 'aa'], {'a': 1, 'b': 'b'}]
    

    列表的特性:可变、有序、可迭代性

    由于【可变】,所以它有append、clear、count、extend、insert、pop、remove、copy方法

    由于【有序】,所以它有index、reverse、sort

    它还可以使用切片、in、for循环

    list上面的这些特性和方法都很重要,要记住~~~

    4.元组-tuple

    由圆括号括起来的一串字符,这就是元组,元组也可容一切字符(这里是不是隐隐有种见过类似一句话的感觉~~~)

    tup = (1, "a", True, (1, 2), [12, "aa"], {"a": 1, "b": "b"}, )
    print(type(tup))
    print(tup)
    

    输出结果:

    <class 'tuple'>
    (1, 'a', True, (1, 2), [12, 'aa'], {'a': 1, 'b': 'b'})

    注:

    元组的特性:有序、不可修改,切记:元组不可修改,不过是不可修改一级元素,如果一个元素中的元素是可变对象的话,那个元素是可修改的

    tup = (1, "a", True, (1, 2), [12, "aa"], {"a": 1, "b": "b"}, )
    print(type(tup))
    print(tup)
    tup[4].append("haha")
    print(tup)
    

    输出结果:

    <class 'tuple'>
    (1, 'a', True, (1, 2), [12, 'aa'], {'a': 1, 'b': 'b'})
    (1, 'a', True, (1, 2), [12, 'aa', 'haha'], {'a': 1, 'b': 'b'})
    

    元组的方法只有两个:count、index

    索引、in、for循环都是适合元组的

    5.字典-dict

    由大括号括起来的一对对的键值对,这就是字典,字典的值也可容一切字符(多么熟悉的一句话啊~~)

    科普-什么是键值对:就是【键和值,两个配成一对】,就是【1: "a"】,其中写在前面的是键,后面的是值,中间用冒号隔开,一对对键值对用逗号隔开。键不可重复,值可以重复

    ps:键重复以后执行不会报错,但是只显示最后一个,所以这个要注意,不然在你不知道的情况下会漏掉了一些数据

    dic = {1: "a", "a": (1, 2), "bb": [12, "aa"], 33: {"a": 1, "b": "b"}}
    print(type(dic))
    print(dic)

    输出结果:

    <class 'dict'>
    {1: 'a', 'a': (1, 2), 'bb': [12, 'aa'], 33: {'a': 1, 'b': 'b'}}
    

    dict字典的特性:无序、可变的

    dict的方法有:itemsfromkeysgetkeysvaluesupdate、pop、popitem、clear、copy、setdefault

    dict不支持索引,它是通过key来找元素的

    dict支持in、for循环,但是迭代的时候是默认以key值迭代的

    dic = {"a":1,"2":"b"}
    k1 = "a" in dic
    print(k1)
    k2 = "a" in dic.keys()
    print(k2)

     输出结果:

    True
    True

     也可以用value值来迭代:

    dic = {"a":1,"2":"b"}
    v = "b" in dic.values()
    print(v)
    

     输出结果:

    True

     6.布尔-bool

    布尔类型很简单,就两个值:真True、假False(python中如果写出true、false不代表是bool类型值)

    其他的话,只有这6个值可代指False:【None、0、""、{}、[]、()】,除了这6个值,剩下所有所有的值都代指的是True

    lst = [None, 0, "", {}, [], ()]
    for tmp in lst:
        if not tmp:
            print("True")
        else:
            print("False")
    

     输出结果:

    True
    True
    True
    True
    True
    True
    

     Tips:一般布尔用在判断条件中,比如if条件、while条件中

    7.集合-set

    由大括号括起来的一串值,它和字典虽然都是大括号括起来的,但是字典中存放的是键值对,而集合中存放的是一个个的值

    直接上实例:

    s = {1, "a", True, (1, 2)}
    print(type(s))
    print(s)
    

     输出结果:

    <class 'set'>
    {1, (1, 2), 'a'}
    

     注意:set集合中不能放可变对象,就是不能放列表、字典,只能放数字、字符串、元组、布尔值,这一点和字典的键的规则一样

    集合的特性:无序、去重、可变

    这里出现一个其他数据类型没有见过的特性【去重】,意思是集合中的元素都是不相同的,比如:在定义集合时写的是【s = {1, 2, 4, "a" , 2, "a"}】,但执行代码后s变量实际上存进去的是【s = {1, 2, "a", 4}]

    集合的方法:add、clear、copy、difference、difference_update、discard、intersection、intersection_update、isdisjoint、issubset、pop、remove、symmetric_difference、symmetric_difference_update、union、update

    集合还可以使用一些数值运算符:+、-、|、^、&、>、<

    由于集合的无序的,所以它不支持索引、切片

  • 相关阅读:
    Python、PyCharm的安装及使用方法(Mac版)
    学习Java web技术
    Java Web基础教程
    JavaWeb--深入Servlet与JSP(运行原理)
    Servlet入门总结及第一个Servlet程序
    Mac系统安装和配置tomcat步骤详解
    Struts2进阶学习4
    Struts2进阶学习3
    Struts2基础学习2
    Struts2基础入门
  • 原文地址:https://www.cnblogs.com/lybolg/p/12459740.html
Copyright © 2020-2023  润新知