Python基础之基本数据类型

1.1 什么是数据?

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

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

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

1.3 数据类型

  • 数字
  • 布尔值
  • 列表
  • 元组
  • 字典
  • 集合

  • 2. 基础数据类型

    2.1 数字int

    数字主要用于计算用的,使用方法并不是很多,就记住一种就可以: ```Python #bit_length(),当十进制用二进制表示时,最少使用的位数 num = 11 data = num.bit_length() print(data) # 结果:4 ```

    2.2 布尔值bool

    布尔值是判断条件的正确与否,只有两个结果:
  • True
  • False
  • 2.3 字符串str

    2.3.1 字符串的索引
    索引即下表,就是字符串组成的元素从第一个开始,初始索引为0以此类推。 ```Python string = "ABCDEFGHIJK" print(string[0]) print(string[3]) print(string[5]) print(string[7]) ``` 执行结果为: ```Python A D F H ```
    2.3.2 字符串的切片
    切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚) ```Python 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]) #反向切片,步长为负值 ``` 执行结果为: ```Python ABC CDE ABCDEFGHIJK ABCDEFGHIJ ACE FDB ```

    2.4 字符串常用方法

    2.4.1 capitalize():
    作用:首字母大写 ```Python name = "yang wei" print(name.capitalize()) ``` 执行结果为: ```Python Yang wei ```
    2.4.2 swapcase()
    作用:大小写翻转 ```Python name = "yang wei" print(name.swapcase()) ``` 执行结果为: ```Python YANG WEI ```
    2.4.3 title()
    作用:每个单词首字母大写 ```Python name = "yang wei" print(name.title()) ``` 执行结果为: ```Python Yang Wei ```
    2.4.4 center()
    作用:在总长度为X的字符串中,内容居中,空白处填充 ```Python s = "center" ret = s.center(20, "*") print(ret) ``` 执行结果为: ```Python *******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()
    作用:判断是否以···开头 ```Python s = "abc" ret = s.startswith("a") print(ret) ``` 执行结果为: ```Python True ```
    2.4.7 endswith()
    作用:判断是否以···结尾 ```Python s = "abc" ret = s.endswith("c") print(ret) ``` 执行结果为: ```Python True ```
    2.4.8 find()——推荐使用
    作用:寻找字符串中的元素是否存在 ```Python s = "abc" ret = s.find("b") print(ret) ``` 如果能找到,则返回元素的索引,如果找不到返回-1
    执行结果为: ```Python 1 ```
    2.4.9 index()——不推荐使用
    作用:返回找到的元素的索引,找不到则报错。 ```Python s = "abc" ret = s.index("a") print(ret) ``` 执行结果为: ```Python 0 ``` 因为在使用index查找元素索引时,找不到内容则会报错,因此不推荐使用。
    2.4.10 split()
    作用:以X分割字符串,最终形成一个列表,此列表中不含有这个分割的元素。 ```Python s = "a|b|c" ret = s.split("|") print(ret) ``` 执行结果为: ```Python ['a', 'b', 'c'] ```
    2.4.11 format()的三种用法
    作用:格式化输出 ```Python print("{}{}{}".format("a", "b", "c")) print("{1}{0}{2}".format("a", "b", "c")) print("{a}{b}{c}".format(a="a1", b="b1", c="c1")) ``` 执行结果为: ```Python abc bac a1b1c1 ```
    2.4.12 strip()
    作用:移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
    注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。 ```Python name = "*yang**" print(name.strip("*")) #去掉左右两边的字符 print(name.lstrip("*")) #去掉左边的字符 print(name.rstrip("*")) #去掉右边的字符 ``` 执行结果为: ```Python yang yang** *yang ```
    2.4.13 replace()
    作用:替换 ```Python s = "abc" ret = s.replace("a", "d") print(ret) ``` 执行结果为: ```Python dbc ```
    2.4.14 is系列
    ```Python name = "yang123" print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成 ``` 执行结果为: ```Python 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 增加
    ```Python 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)

    执行结果为:
    ```Python
    [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 删除
    ```Python 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)

    执行结果为:
    ```Python
    a
    [1, 'b', 2, 3, 'a']
    [1, 3, 'a']
    [1, 3]
    []
    
    2.6.3 修改
    ```Python lst = [1, "a", "b", 2, 3, "a"] lst[1] = "abc" print(lst) lst[2:4] = ["a", "b"] print(lst) ``` 执行结果为: ```Python [1, 'abc', 'b', 2, 3, 'a'] [1, 'abc', 'a', 'b', 3, 'a'] ```
    2.6.4 查找
    切片去查,或者循环去查
    2.6.5 其他操作
    count(): 统计某个元素在列表中出现的次数 ```Python a = ["q", "w", "q", "r", "t", "y"] print(a.count("q")) #结果为:2 ``` index(): 从列表中找出某个值第一个匹配项的索引位置 ```Python a = ["q", "w", "q", "r", "t", "y"] print(a.index("r")) #结果为:3 ``` sort():用于在原位置对列表进行排序 ```Python a = [2, 1, 4, 5, 3] a.sort() #它没有返回值,所以只能打印a print(a) ``` 执行结果为: ```Python [1, 2, 3, 4, 5] ``` reverse(): 用于将列表中的元素反向存放 ```Python a = [2, 1, 4, 5, 3] a.reverse() #它没有返回值,所以只能打印a print(a) ``` 执行结果为: ```Python [3, 5, 4, 1, 2] ```
    posted @ 2018-09-11 21:32  _杨魏  阅读(189)  评论(0编辑  收藏  举报