Python入门学习系列(二)之数据类型

        Python的数据类型一共有六种,分别是数字、字符串、列表、元组、集合和字典

        其中数字包括整型、浮点,和C/CPP基本是一样的,但多加了虚数这种数据类型,用如

a=4+3j #虚数

    的代码进行定义,记住是用j表示

        字符串也和C/CPP基本一致,可以用[]进行截取,用+进行连接,甚至可以用负数进行反向索引,这些和C/CPP有些不一样,但更加人性化操作。

Python的六种数据类型分成两种:

        1.不可变数据:数字、字符串、元组

        2.可变数据:列表、字典、集合

        其中列表最常用,和数组有点类型,但不同的是列表里面可以有多种数据类型,一般用Numpy库转成矩阵进行运算。

        而元组可以理解成不可变的列表。

        集合则是如数学上的集合定义一般,其所含元素不能重复,Python会自动去重。

        字典有点类似于哈希表,通过键值对进行连接,一个键对应一个值,键必须唯一。

———————————————————————————————————————————

        基于菜鸟教程:Python3 基本数据类型 | 菜鸟教程 的代码如下,可直接运行查看结果:

#整型、浮点、字符串
a=10#int
b=10.0#float
c="string"#string
print(a);print(b);print(c)
#python可为多个变量进行赋值
a=b=c=1; 
a,b,c=10,10.0,"string"
#python共具有六个标准的数据类型
#Number,String,List,Tuple,Set,Dictionary
#数字、字符串、列表、元组、集合、字典
#不可变数据:数字、字符串、元组
#可变数据:列表、字典、集合

#1数字 支持int float bool complex虚数
a,b,c,d=20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))
#还可使用isinstance判断
isinstance(a,int)
#type()不会认为子类是一种父类类型。
#isinstance()会认为子类是一种父类类型。
class A:
    pass
class B(A):
    pass
isinstance(A(),A)
isinstance(B(),A)
type(A())==A
type(B())==A
#Python3 中,bool 是 int 的子类,True和 False 可以和
#数字相加, True==1、False==0 会返回 True,但可以通
#过 is 来判断类型。
issubclass(bool, int) 
True==1
False==0
True+1
False+1
1 is True
0 is False
#通过del删除对象
del A,B
#数值运算
print(5+4)
print(3.4-2)
print(2//4)#得到一个整数
print(2/4)#得到一个浮点数
print(17%3)
print(2**3)#幂运算

#2字符串 单引号或双引号 
str="python"
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") # 连接字符串
#反斜杠\表示转义字符
print("Py\nthon")
#不想发声转移则加上r
print(r"Py\nthon")

#3列表 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) # 连接列表
#列表中的元素可以改变
a=[1,2,3,4,5,6]
a[0]=9
a[2:5]=[13, 14, 15]
print(a)
a[2:5]=[]   # 将对应的元素值设置为 []
print(a)
#Python列表截取可以接收第三个参数,参数作用是截取的步长
letters=['r','u','n','o','o','b']
print(letters)
letters=letters[1:4:2]
print(letters)

#4元组
#元组(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) # 连接元组
#元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取
#可以把字符串看成一种特殊的元组
tup=(1,2,3,4,5,6)
print(tup[0],tup[1])
print(tup[-1],tup[-2])
tup[0]=11# 修改元组元素的操作是非法的
#虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

#5集合
#集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
#基本功能是进行成员关系测试和删除重复元素。
#可以使用大括号 { } 或者 set() 函数创建集合
#注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu' , 'Google'}
print(sites)   # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Runoob' in sites :
    print('Runoob在集合中')
else :
    print('Runoob不在集合中')
# set可以进行集合运算
a1 = set('abracadabra')
b1 = set('alacazam')
print(a1)
print(a1 - b1)     # a 和 b 的差集
print(a1 | b1)     # a 和 b 的并集
print(a1 & b1)     # a 和 b 的交集
print(a1 ^ b1)     # a 和 b 中不同时存在的元素

#6字典
#字典(dictionary)是Python中另一个非常有用的内置数据类型。
#列表是有序的对象集合,字典是无序的对象集合。
#两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
#字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
#键(key)必须使用不可变类型。
#在同一个字典中,键(key)必须是唯一的。
#有点类似于哈希表
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
#构造函数 dict() 可以直接从键值对序列中构建字典如下:
dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{x: x**2 for x in (2, 4, 6)}#该代码使用的是字典推导式
dict(Runoob=1, Google=2, Taobao=3)

#Python数据类型转换
# int(x [,base])将x转换为一个整数
# float(x) 将x转换到一个浮点数
# complex(real [,imag])创建一个复数
# str(x)将对象 x 转换为字符串
# repr(x)将对象 x 转换为表达式字符串
# eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
# tuple(s)将序列 s 转换为一个元组
# list(s)将序列 s 转换为一个列表
# set(s)转换为可变集合
# dict(d)创建一个字典。d 必须是一个 (key, value)元组序列。
# frozenset(s)转换为不可变集合
# chr(x)将一个整数转换为一个字符
# ord(x)将一个字符转换为它的整数值
# hex(x)将一个整数转换为一个十六进制字符串
# oct(x)将一个整数转换为一个八进制字符串

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值