Python基础之基本数据类型

1.1 什么是数据?

x = 10, 10是我们要存储的数据

1.2 为何数据要分不同的类型


数据是用来表示状态的,不同的状态就应该用不同类型的数据去表示。

1.3 数据类型


  • 数字

  • 布尔值

  • 列表

  • 元组

  • 字典

  • 集合



  • 2. 基础数据类型


    2.1 数字int


    数字主要用于计算用的,使用方法并不是很多,就记住一种就可以:

    #bit_length(),当十进制用二进制表示时,最少使用的位数
    num = 11
    data = num.bit_length()
    print(data)     
    # 结果:4

    2.2 布尔值bool

    布尔值是判断条件的正确与否,只有两个结果:

  • True

  • False
  • 2.3 字符串str

    2.3.1 字符串的索引

    索引即下表,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

    string = "ABCDEFGHIJK"
    print(string[0])    
    print(string[3])
    print(string[5])
    print(string[7])

    执行结果为:

    A
    D
    F
    H
    2.3.2 字符串的切片

    切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)

    string = "ABCDEFGHIJK"
    print(string[0:3])
    print(string[2:5])
    print(string[0:])       #默认到最后
    print(string[0:-1])     #-1是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到最后的元素
    print(string[0:5:2])    #加步长
    print(string[5:0:-2])   #反向切片,步长为负值

    执行结果为:

    ABC
    CDE
    ABCDEFGHIJK
    ABCDEFGHIJ
    ACE
    FDB

    2.4 字符串常用方法

    2.4.1 capitalize():

    作用:首字母大写

    name = "yang wei"
    print(name.capitalize())

    执行结果为:

    Yang wei
    2.4.2 swapcase()

    作用:大小写翻转

    name = "yang wei"
    print(name.swapcase())

    执行结果为:

    YANG WEI
    2.4.3 title()

    作用:每个单词首字母大写

    name = "yang wei"
    print(name.title())

    执行结果为:

    Yang Wei
    2.4.4 center()

    作用:在总长度为X的字符串中,内容居中,空白处填充

    s = "center"
    ret = s.center(20, "*")
    print(ret)

    执行结果为:

    *******center*******
    2.4.5 expandtabs()

    作用:

    补全空格。

    默认将一个tab键变成8个空格。

    如果tab前面的字符长度不足8个,则补足8个。

    如果有两个tab,tab前面的字符串长度超过8个不足16个,则补足16个。

    以此类推,每个tab补足8个。

    s = "\tabc"
    ret = s.expandtabs()
    print(ret)

    执行结果为:

           abc
    2.4.6 startswith()

    作用:判断是否以···开头

    s = "abc"
    ret = s.startswith("a")
    print(ret)

    执行结果为:

    True
    2.4.7 endswith()

    作用:判断是否以···结尾

    s = "abc"
    ret = s.endswith("c")
    print(ret)

    执行结果为:

    True
    2.4.8 find()——推荐使用

    作用:寻找字符串中的元素是否存在

    s = "abc"
    ret = s.find("b")
    print(ret)

    如果能找到,则返回元素的索引,如果找不到返回-1

    执行结果为:

    1
    2.4.9 index()——不推荐使用

    作用:返回找到的元素的索引,找不到则报错。

    s = "abc"
    ret = s.index("a")
    print(ret)

    执行结果为:

    0

    因为在使用index查找元素索引时,找不到内容则会报错,因此不推荐使用。

    2.4.10 split()

    作用:以X分割字符串,最终形成一个列表,此列表中不含有这个分割的元素。

    s = "a|b|c"
    ret = s.split("|")
    print(ret)

    执行结果为:

    ['a', 'b', 'c']
    2.4.11 format()的三种用法

    作用:格式化输出

    print("{}{}{}".format("a", "b", "c"))
    print("{1}{0}{2}".format("a", "b", "c"))
    print("{a}{b}{c}".format(a="a1", b="b1", c="c1"))

    执行结果为:

    abc
    bac
    a1b1c1
    2.4.12 strip()

    作用:移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

    注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

    name = "*yang**"
    print(name.strip("*"))      #去掉左右两边的字符
    print(name.lstrip("*"))     #去掉左边的字符
    print(name.rstrip("*"))     #去掉右边的字符

    执行结果为:

    yang
    yang**
    *yang
    2.4.13 replace()

    作用:替换

    s = "abc"
    ret = s.replace("a", "d")
    print(ret)

    执行结果为:

    dbc
    2.4.14 is系列
    name = "yang123"
    print(name.isalnum())       #字符串由字母或数字组成
    print(name.isalpha())       #字符串只由字母组成
    print(name.isdigit())       #字符串只由数字组成

    执行结果为:

    True
    False
    False

    2.5 元组tuple

    元组被称为只读劣币哦啊,即数据可以被查询,但不能被修改,所以字符串的切片操作同样适用于元组。例如:(1, 2, 3) ("a", "b", "c")

    2.6 列表list


    列表是Python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,它是以[]括起来,每个元素以逗号隔开,而且它里面可以存放各种数据类型,比如:

    li = ["yang", 123, True, (1,2,3), [a, b, c], {name: "yang"}]

    列表相比于字符串,不仅可以存储不同的数据类型,而且可以存储大量数据,32为Python的限制是536870912, 64位Python的限制是1152921504606846975个元素。而且列表是有序的,有索引值,可切片,方便取值。

    2.6.1 增加

    lst = [1, "a", "b", 2, 3, "a"]
    
    lst.insert(0, 55)       #按照索引添加
    print(lst)
    
    lst.append("aaa")       #增加到最后
    print(lst)
    
    lst.append([1, 2, 3])   #增加到最后
    print(lst)
    
    lst.extend(["q", "w", "e", "r"])    #迭代的增加
    print(lst)
    
    lst.extend("abc")
    print(lst)

    执行结果为:

    [55, 1, 'a', 'b', 2, 3, 'a']
    [55, 1, 'a', 'b', 2, 3, 'a', 'aaa']
    [55, 1, 'a', 'b', 2, 3, 'a', 'aaa', [1, 2, 3]]
    [55, 1, 'a', 'b', 2, 3, 'a', 'aaa', [1, 2, 3], 'q', 'w', 'e', 'r']
    [55, 1, 'a', 'b', 2, 3, 'a', 'aaa', [1, 2, 3], 'q', 'w', 'e', 'r', 'a', 'b', 'c']
    2.6.2 删除
    lst = [1, "a", "b", 2, 3, "a"]
    print(lst.pop(1))
    print(lst)
    
    del lst[1:3]
    print(lst)
    
    lst.remove("a")
    print(lst)
    
    lst.clear()
    print(lst)

    执行结果为:

    a
    [1, 'b', 2, 3, 'a']
    [1, 3, 'a']
    [1, 3]
    []
    2.6.3 修改
    lst = [1, "a", "b", 2, 3, "a"]
    lst[1] = "abc"
    print(lst)
    lst[2:4] = ["a", "b"]
    print(lst)

    执行结果为:

    [1, 'abc', 'b', 2, 3, 'a']
    [1, 'abc', 'a', 'b', 3, 'a']
    2.6.4 查找

    切片去查,或者循环去查

    2.6.5 其他操作

    count(): 统计某个元素在列表中出现的次数

    a = ["q", "w", "q", "r", "t", "y"]
    print(a.count("q"))
    #结果为:2

    index(): 从列表中找出某个值第一个匹配项的索引位置

    a = ["q", "w", "q", "r", "t", "y"]
    print(a.index("r"))
    #结果为:3

    sort():用于在原位置对列表进行排序

    a = [2, 1, 4, 5, 3]
    a.sort()           #它没有返回值,所以只能打印a
    print(a)

    执行结果为:

    [1, 2, 3, 4, 5]

    reverse(): 用于将列表中的元素反向存放

    a = [2, 1, 4, 5, 3]
    a.reverse()         #它没有返回值,所以只能打印a
    print(a)

    执行结果为:

    [3, 5, 4, 1, 2]

    猜你喜欢

    转载自www.cnblogs.com/yang-wei/p/9630481.html
    今日推荐