翼度科技»论坛 编程开发 python 查看内容

Python数据类型

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
Python数据类型

字符串(str)

字符串是 Python 中最常用的数据类型。我们可以使用引号 ( ' 或 " 或''') 来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。

  • var1 = 'Hello World!'
    var2 = "Python Runoob"
字符串的截取的语法格式:变量[头下标:尾下标]





  • str = 'Runoob'
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次,也可以写成 print (2 * str)
print (str + "TEST") # 连接字符串
  1. - Runoob
复制代码
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串


  • print('Ru\noob')
    Ru
    oob

print(r'Ru\noob')
Ru\noob
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。

列表(list)

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式:变量[头下标:尾下标]




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']



如果第三个参数为负数表示逆向读取,以下实例用于翻转字符串:


  • def reverseWords(input):
# 通过空格将字符串分隔符,把各个单词分隔为列表
    inputWords = input.split(" ")
# 翻转字符串
    # 假设列表 list = [1,2,3,4],  
    # list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
    # inputWords[-1::-1] 有三个参数
    # 第一个参数 -1 表示最后一个元素
    # 第二个参数为空,表示移动到列表末尾
    # 第三个参数为步长,-1 表示逆向
    inputWords=inputWords[-1::-1]
# 重新组合字符串
    output = ' '.join(inputWords)
     
    return output
if name == "main":
    input = 'I like runoob'
    rw = reverseWords(input)
    print(rw)
字典(dict)

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。

  • dict = {}
    dict['one'] = "1 -1"
    dict[2] = "2 - 1"
tinydict = {'name': 'runoob','code':1, 'site': 'https://www.cnblogs.com/zhangfanshixiaobai/p/17654671.html'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict)# 输出完整的字典
print (tinydict.keys())# 输出所有键
print (tinydict.values()) # 输出所有值
  1. - 1 -1
复制代码
2 - 1
{'name': 'runoob', 'code': 1, 'site': 'https://www.cnblogs.com/zhangfanshixiaobai/p/17654671.html'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'https://www.cnblogs.com/zhangfanshixiaobai/p/17654671.html'])
布尔类型(bool)

布尔类型只有两个值:True 和 False。

布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1,False 视为 0。
布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。
布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True 会被转换成 1,False 会被转换成 0。

  • a = True
    b = False
比较运算符

print(2 < 3)   # True
print(2 == 3)  # False
逻辑运算符

print(a and b)  # False
print(a or b)   # True
print(not a)    # False
类型转换

print(int(a))   # 1
print(float(b)) # 0.0
print(str(a))   # "True"
注意: 在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。

元组(tuple)

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )

tinytuple = (123, 'runoob')
print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

  • ('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')
元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取(看上面,这里不再赘述)。

其实,可以把字符串看作一种特殊的元组。
>>> tup = (1, 2, 3, 4, 5, 6)

print(tup[0])
1
print(tup[1:5])
(2, 3, 4, 5)
tup[0] = 11  # 修改元组元素的操作是非法的
Traceback (most recent call last):
  File "", line 1, in
TypeError: 'tuple' object does not support item assignment
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

  • tup1 = ()    # 空元组
    tup2 = (20,) # 一个元素,需要在元素后添加逗号
集合(set)

Python 中的集合(Set)是一种无序、可变的数据类型,用于存储唯一的元素。

集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
在 Python 中,集合使用大括号 {} 表示,元素之间用逗号 , 分隔。
另外,也可以使用 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

  • sites =
print(sites)   # 输出集合,重复的元素被自动去掉
成员测试

if 'Runoob' in sites :
print('Runoob 在集合中')
else :
print('Runoob 不在集合中')
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 中不同时存在的元素
  1. - {'Zhihu', 'Baidu', 'Taobao', 'Runoob', 'Google', 'Facebook'}
复制代码
Runoob 在集合中
{'b', 'c', 'a', 'r', 'd'}
{'r', 'b', 'd'}
{'b', 'c', 'a', 'z', 'm', 'r', 'l', 'd'}
{'c', 'a'}
转换




程序与用户交互

Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

>>>a = input("input:")

input:123                  # 输入整数
type(a)
              # 字符串
a = input("input:")
input:runoob              # 正确,字符串表达式
type(a)
             # 字符串
格式化输出

什么是格式化输出?

把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。
为什么要格式化输出?

我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容。

  • res1= 'my name is %s, my age is %s'
    print(res1 % ('kevin', 10))
(3) 如何格式化输出?

需要先占位置:%s %d # %s占位可以给任意的数据类型占位,
%s占位可以给任意的数据类型占位,
%d:它只能够给数字占位,不能给其他数据类型占位置

来源:https://www.cnblogs.com/zhangfanshixiaobai/p/17657746.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具