首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python基础(一)基本的不能再基本的数据类型

本文会的介绍python中的基本数据类型。女装大佬表示这有点基础,我们尽可能在此基础上拓展一些内容吧。

0.基本数据类型

Python中有大致六种基本数据类型

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Set(集合)

Dictionary(字典)

可以明显看出其数据类型

相比于C语言有明显的简化

下面我们将逐一介绍这些数据类型

以及他们的常见用法

1.Number(数字)

Python3 支持int、float、bool、complex(复数)

整型、浮点型和布尔型我们比较熟悉

(需要注意布尔的True和False必须像这样拼写)

复数通常写作 a + bj(a,b均为常数)的形式

比如4 + 3 j(注意不是中学的i,必须用j表示虚数单位)

(type表示返回变量类型的函数)

同时python3支持更多的运算符

其中+ - * / % 我们都很熟悉啦

** 表示乘方,在python中可以作为运算符使用

而 / 和 // 的差别在于 // 表示取整除法

相当于C语言中两个整数相除的情况

而 / 表示正常的除法

也就是说在python中

除法运算的除法类型不依赖于除号两边的变量类型

而取决于除法符号的类型

这是与C语言有所区别的

2.String(字符串)

python的字符串

真可以称得上是一种神奇的存在

它可加可乘可截取

还有很多骚操作

值得注意的是

python中别没有像C语言

将字符和字符串作为两种数据类型

而是将单个字符也看做长度为1的字符串

因此字符串用单双引号引起来都是可以的

下图是字符串的基本操作

+操作是字符串的连接,*表示字符串重复若干次

[n]类似于对数组的操作,可以返回下标为n的字符

此外[] 还有更为神奇的操作

可以截取字符串片段

在[]中使用冒号运算符[m:n]

可以截取下标在m,n之间的子串

若m缺省则截取从头开始到下标n处的子串

n缺省也同理

你以为这样就很厉害?

其实还有更神奇的

当上述m,n为非负数的时候表示下标从字符串第一个字符处计算

我们也可以使用负数下标

表示从串末开始数

in 和not in是两种逻辑运算

当执行 a in b时

若a是b的一个子串

则返回True

你可能会觉得

这有点像万恶的数据结构中的模式匹配

确实,python的开发人员做了一件大好事

让我们免于沉陷在复杂的数据结构中无法自拔

R/r的用法也很有趣

这是为了让转义字符按照字面意义被解释

我们知道\n在字符串中

表示换行的意思

如果我们就希望字符串中出现\n怎么办呢

这就需要用r运算

%是格式字符串运算符

比如有一句欢迎语'hello, XXX'

XXX我们希望根据访客名称动态填入

我们就可以'hello,%s'

这就表示这个字符串中

已经留出了一个字符串的位置

虚位以待

当然字符串中可以有多个这种占位符

在格式化的时候只需要在%的参数中依次放入参数即可

相对于这种方法

format可能更加时髦

因为format方法不需要指出要填入的类型

只需要留出一个{}

3.List(列表)

列表非常像C语言中的数组

用[a,b,c,...]的形式表示

但它的功能可能比C语言的数组强大的多

python允许列表中的元素可以是不同类型

上述提到了字符串

可以看做是字符的列表

因此它们之间有许多相似的操作

比如列表与列表可以相加得到新的列表

也可以自乘一个数

将列表重复n遍

也可以通过下标引用其中的某一个列表值

也可以通过正负下标或下标进行截取

此外列表还有其他许多操作

这里我们只介绍append和extend

append表示向列表末尾添加一个元素

extend表示将另一个列表添加到当前列表之后

有点类似与 a = a + b

4.tuple(元组)

元组与列表的非常像

其操作大多可以参照列表的操作

只是元组的元素不能修改

如图我们可以对元组进行类似列表一样的操作

但我们打算修改元组中元素的值时

遭到了python解释器的严词拒绝

元组有时可以表示数据库查询的返回值

而且有着极为方便的赋值特性

我们可以利用一个元组

在一行语句中对多个变量赋值

5.Set(集合)

集合(set)是一个无序不重复元素的序列。

可以使用大括号{ }创建集合

python的这种集合的定义

与数学上的定义如出一辙

同时其也具备数学上集合的运算

交(&)并(|)减(-)异或(^)

6.Dict(字典)

字典这种数据结构

在python中会经常使用

字典的每个键值(key=>value)对用冒号(:)分割

每个对之间用逗号(,)分割

整个字典包括在花括号中

其中key必须是唯一的

例如 {‘code’:2016111888,"name":'"radium"}

访问字典中的值可以在中括号中引用key

修改键值对和添加键值对的代码差不多

直接引用要修改或添加的键并赋值即可

而删除键值对则要用到del命令

此外字典还有其他一些操作

7.不可变数据

这六种数据类型中

Number(数字)、String(字符串)、Tuple(元组)

属于不可变数据

我们用以下代码做个小实验

id可以认为是查看变量在内存中的地址的函数

我们不难得到以下结果

我们观察到

在a的值改变之后

其在内存中地址的值也改变了

然而当b赋了a的初值时

其在内存中的地址竟然一样

原来这里讲的不可变数据

并非a这个变量不可变

而是一旦某个值在内存中设定了

它就在此处扎根了

这种变量名和变量值的关系

可以理解为一种引用关系

明白C/C++ 的朋友一眼就能看出

变量名实际上是指针

显然这需要python解释器(虚拟机)

能够良好的管理内存

及时地回收不用的变量值

People always say that it's too late. However, in fact, now is the best appropriate time. For a man who really wants to seek for something, every period of life is younger and timely.

一起分享学习的点滴

扫码加入机器学习小组(为保证学习群质量请先加管理员经验证后自动加群)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726G0A64500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券