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]

转载于:https://www.cnblogs.com/yang-wei/p/9630481.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值