python的基本数据类型

1. python的基本数据类型

  • Number(数字)
  • String(字符串)
  • Tuple(元组)
  • List(列表)
  • Set(集合)
  • Dictionary(字典)

其中前3个为不可变数据类型,后三个为可变数据类型。

1.1 数字类型–Number

支持int, float, bool,complex

1.1.1 数据运算

基本运算规则不变,以下展示鲜知的。

另外进行混合运算时,整数会自动转为浮点数。

# 除法得到一个整数,单个斜杠得到浮点数
print(4/9)
print(4//9)
print(2**5)

0.4444444444444444
0
32

1.2 字符串类型–String

字符串使用单引号或双引号,同时支持使用\转义特殊字符
Python没有单独的字符类型,一个字符就是长度为1的字符串。
\可以作为转义符,续行符
使用’’’ ‘’’ 也可以实现字符串换行,当字符串有多行时,打印结果也是多行

**注意:**字符串是不可变的,不能指定某一位置上的字符串进行替换

str = '123456789abcdefghi'
# 字符串截取
print(str[5])
print(str[0:5])
print(str[2:-5])
print(str[0:])
print(str[0:-1])

# 字符串拼接
print(str + '----test')
print(str * 2)

6
12345
3456789abcd
123456789abcdefghi
123456789abcdefgh
123456789abcdefghi----test
123456789abcdefghi123456789abcdefghi

# 字符串转义
print('sadfasdf\nadf\nta\tsd')

sadfasdf
adf
ta sd

# 字符串换行
str1 = 'asdfdsafs\
n12321321\
t12321312'

print(str1)
print('\n')
str2 = '''aafasdfsdafsd
123123123123
&*(&(&(())))'''
print(str2)

asdfdsafsn12321321t12321312

aafasdfsdafsd
123123123123
&*(&(&(())))

# 字符串替换 字符串是不可变变量,如下替换方法报错
str = 'abcd1234abcd1234'
str[2] = 'F'
str[2:3] = 'Fs'


TypeError Traceback (most recent call last)

in ()
1 # 字符串替换 字符串是不可变变量,如下替换方法报错
2 str = ‘abcd1234abcd1234’
----> 3 str[2] = ‘F’
4 str[2:3] = ‘Fs’

TypeError: ‘str’ object does not support item assignment

1.2.1 String – replace

  • replace 三个参数其中第三个参数可选, 表示从做到右替换多少个字符
  • 默认情况下, 替换所有字符
str = 'this is a test'
print(str.replace('i', 'I', 1))

thIs is a test

1.2.2 格式化输出

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

我叫 小明 今年 10 岁!

1.3 集合 List

  • List的一些操作与String基本相同但是集合是可变的

  • 在替换集合中的元素的时候可以使用索引的方式直接替换

  • 行集合替换时, 先删除该位置上的元素,再将要替换的值插入该位置上。

  • 换目标为一个集合, 接将值插入该位置后

  • 换目标为一个元素,则直接进行类型替换

list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

[‘abcd’, 786, 2.23, ‘runoob’, 70.2]
abcd
[786, 2.23]
[2.23, ‘runoob’, 70.2]
[123, ‘runoob’, 123, ‘runoob’]
[‘abcd’, 786, 2.23, ‘runoob’, 70.2, 123, ‘runoob’]

# 集合元素替换
list[1:2] = [121, 'AAAAAA']
print(list)
list[1] = [0, 1]
print(list)

[‘abcd’, 121, ‘AAAAAA’, 2.23, ‘runoob’, 70.2]
[‘abcd’, [0, 1], ‘AAAAAA’, 2.23, ‘runoob’, 70.2]

  • 进行集合截取时,可输入第三个参数即步长
# 集合截取
list = [1,2,3,4,5,6,7,8,9,0]
print(list[0:10:2])
# 负向截取
print(list[-1::-1])

[1, 3, 5, 7, 9]
[0, 9, 8, 7, 6, 5, 4, 3, 2, 1]

1.4 Tuple–元组

  • 元组中的元素不能修改,元组写在小括号里
  • 当只有一个元素在元组中时,需要在该元素后加逗号,否则类型不是元组类型
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tup1 = (20) # 一个元素,需要在元素后添加逗号
print(type(tup1))
tup2 = (20,)
print(type(tup2))

<class ‘int’>
<class ‘tuple’>

1.5 Set–集合

注意:

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)   # 输出集合,重复的元素被自动去掉

# 成员测试
if 'Rose' in student :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')

# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b)     # a 和 b 的差集
print(a | b)     # a 和 b 的并集
print(a & b)     # a 和 b 的交集
print(a ^ b)     # a 和 b 中不同时存在的元素

{‘Rose’, ‘Jack’, ‘Mary’, ‘Tom’, ‘Jim’}
Rose 在集合中
{‘b’, ‘d’, ‘c’, ‘r’, ‘a’}
{‘b’, ‘d’, ‘r’}
{‘c’, ‘z’, ‘b’, ‘d’, ‘l’, ‘r’, ‘m’, ‘a’}
{‘c’, ‘a’}
{‘z’, ‘b’, ‘d’, ‘l’, ‘r’, ‘m’}

1.6 字典 – dictionary

  • 空字典使用{}, 空Set使用Set()
# 创建字典对象的方法
dict1 = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
dict2 = dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
dict3 = dict(Runoob=1, Google=2, Taobao=3)
print(dict1)
print(dict2)
print(dict3)

{‘name’: ‘runoob’, ‘code’: 1, ‘site’: ‘www.runoob.com’}
{‘Google’: 2, ‘Runoob’: 1, ‘Taobao’: 3}
{‘Google’: 2, ‘Runoob’: 1, ‘Taobao’: 3}

END 小技巧

  • 使用type() isinstance()查看数据类型
a = 13
b = 'ASDS'
print(type(a), type(b))

<class ‘int’> <class ‘str’>

isinstance(111, int)

True

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值