python3 基本数据类型-basic data types of python3

python3 我估计接下来会火起来,浙江已经将python纳入高考,人工智能机器学习大势所趋啊!上次,我分享了 python3基础语法,python3-basic-syntax 今天,我分享 python3 基本数据类型。下面,我们进入主题。

首先 python 变量就是变量,不需要声明类型,你只需要 a = 123 或者 a = b = c = 123,在或者 a, b, c = 1, 2, 3 允许你连续赋值以及为多个变量赋值,而声明变量时不需要指定具体类型,接下来我们看看 python3 有那些数据类型,在这之前,我得解释下,虽然 python 不需要指定变量类型,但是变量依旧有类型,会自动推断,这是好事,但也是不好的事,具体我们在后面讨论。

python3主要有6个数据类型,分别为数字、字符串、列表、元组、集合、字典,其中,数字类型又包括:int、float、bool、complex(复数),而 bool 类型可以和数字相加减等,False为0,True为1,学过java的对instanceof很熟悉,用于判断是否为某个类型,python3里有 isinstance 和 type ,但是和 java很像,字类也是父类,而后者不是,后者字类是字类,字类不是父类。另外 python3 的 / 需要特别注意,java里 2/4 是0,而python3里是0.5,python3 也允许你的结果是0,但你需要用 // 即:  2 // 4 = 0 你可以理解为 python3里 // 和 java 里的 / 是等价的。下面来一波例子。

name, age = 'chun', 13
print(name)
print(age + True)

print(2 / 4)
print(2 // 4)

del name
#print(name) # if you delete # and run the code will crash, name is not defined


class Person:
    pass


class ChinaPerson(Person):
    pass


print(isinstance(ChinaPerson(), Person))
print(type(ChinaPerson()) == Person)

以上代码的输出为:chun、14、0.5、0、True、False,虽然我才十三,这加了 True 明显不一样啊!另外,不知你是否注意到 del name 这会将name直接删除,且不可再访问,再访问提示:name is not defined,字符串部分,我在 python3 基础语法 里已经讲了,这里不再重复。List 是python 也是很多语言最常用的类型,在python3里它和字符串有很多共同点,比如-1表示末尾,+ 用来连接,* 表示重复,与java不同的是python3里 List 之间可以用 + 来实现java里的addAll,唯一不同的是,不能选择位置,只是简单的拼接在了后面,哈哈,和字符串不一样的是 List 里面的元素可以被修改,而字符串不行,最后一点,List 里面的元素数据类型可以不一样,这比java超越了多少啊???接着,我们扯淡元组Tuple,它是不可变的 List 但是元素写在 () 里而不是 [],另外,空元组和1个元组特殊,需要这么定义:

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,元素后添加逗号

我们看最后的两个数据类型吧,集合(Set) 和 字典(Dictionary)集合是无序不重复的元素的序列,字典是无序的对象集合,而列表是有序的,这是其区别,由于是无序的,所以需要一个不可变的key,所以字典是通过key来存取,而集合是通过下标。今天的介绍到此结束,后期再补充例子。

本博客若无特殊说明则由 full-stack-trip 原创发布
转载请点名出处:编程生涯 > python3 基本数据类型-basic data types of python3
本文地址:https://www.kpromise.top/basic-data-types-of-python3/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注