Python第一节(数据类型)

第一行代码:“hello word”

 数据类型:

不可变数据和可变数据

有序与无序

python除法中的/ 、//(地板除)

数据类型

bool类型

python中字符串

三引号:当遇到一大串文字,如何显示 利用三引号,利于阅读 单引号/双引号均可

index找出某个值在列表中第一个匹配的索引

set集合

dict字典

python中特殊字符(\n,\', \t)

python组的表示 列表(list)

元组(tuple)

python中的序列

Python切片详解


数据类型

  • 整数:可以为任意大小、包含负数

  • 浮点数:就是小数

  • 字符串:以单引号 '、双引号"、三引号 ''' 或 """括起来的文本

  • 布尔:只有 TrueFalse 两种值

  • 空值:用 None 表示

  • 变量:是可变的

  • 常量:不可变

第一行代码:“hello word”

 数据类型:

不可变数据和可变数据

 不可变数据(number,string, tuple)可变数据(list,dictionary,set) 

整数、小数都属于数字(number) • 整数(int)、小数用(float)

 java中小数单精度(float),双精度(double) 

python中并无单双精度,python中float默认双精度 

其他语言整数分为:short、int、long

有序与无序

何为序列,即有顺序的列表

字符串、列表、元组等都是有序序列,而字典和集合因为其不允许有重复的成员所以是无序的序列。

set是一种无序列表,无法通过序列方式取值

dict字典也是一种集合,无序

python除法中的/ 、//(地板除)

//可以表示成地板除,也就是0.5 = 0 

1.5 = 1 只取其中整数部分

python中如何表示进制 • 0b表示2进制(0b111) • 0o(八爪鱼)表示8进制 (0o111) • 0x表示16进制(0x1F)

python中的进制转换

bin方法实现其他进制转换为2进制 •

int方法实现其他进制转换为10进制 •

hex方法实现其他进制转换为16进制 •

oct方法实现其他进制转换为8进制

数据类型

bool类型

bool表示真假(0 空 为假 其余都为真)

在python中注意大写

True/False;int(True) == 1;int(False) ==0

bool类型也属于数字(True=1,False=0)

python中字符串

字符串在python中形式str(英文输入法下)

单引号,双引号,三引号

思考为什么要存在单引号,又需要双引号?

因为输出字符串中可能包含单引号或者双引号,这样可以区分。如果含有多个单双引号,则用三引号进行引用

三引号:当遇到一大串文字,如何显示 利用三引号,利于阅读 单引号/双引号均可

index找出某个值在列表中第一个匹配的索引

set集合

集合会将所有元素放在一对大括号 {} 中,相邻元素之间用“,”分隔

同一集合中,只能存储不可变的数据类型,包括整形、浮点型、字符串、元组,无法存储列表、字典、集合这些可变的数据类型,否则 Python 解释器会抛出 TypeError 错误。

是一种无序列表,无法通过序列方式取值

集合符号{}/{1,2,3,4,5,6}

集合里元素唯一

set方法

 增

 

dict字典

顾名思义和我们小时候用的新华字典相同

字典中含有key,value。key不允许重复

key类似字典的拼音与偏旁部首,key必须为不可变元素

字典也是一种集合,无序

定义方式{key:value,key1:value1......}

空字典用{}表示

python中特殊字符(\n,\', \t)

无法看到的字符(换行\n,制表符\t)

与python语法冲突(\')

原样输出使用场景

print('E:\nba\npc') • print('E:\\nba\\npc')

思考假如这个文件路径太长,太多\\如何处理

print(r'E:\nba\npc')加入r称为原始字符串

python组的表示 列表(list)

列表一旦创建了我们就可以根据自己的需要随意改变它的内容:

这是因为动态数组支持resize操作,可以增加数组的容量。当一个大小为N的列表第一次需要添加数据时,Python会创建一个新的列表,足够放原来的N个元素以及额外添加的元素。不过,实际分配的并不是N+1个元素,而是M个元素,M > N, 这是为了给未来的添加预留空间。然后旧列表的数据被复制到新列表中,旧列表则会被销毁。从设计理念上来说,第一次添加可能是后续多次添加的开始,通过预留空间的做法,我们就可以减少这一分配空间的操作次数以及内存复制的次数。这点非常重要,因为内存复制可能非常的昂贵,特别是当列表大小开始增长以后。
 

定义列表[1,2,3,4,5,6] type([1,2,3])

列表元素类型(str,number)['aaa',222,34,True]

[[1,2],[2,3,4],['a','b']]也是一种列表(嵌套列表)

在php中称为二维数组

元组(tuple)

元组是固定且不可改变的。这意味着一旦元组被创建,和列表不同,它的内容无法被修改或它的大小也无法被改变

虽然它们不支持改变大小,但是我们可以将两个元组合并成一个新元组。这一操作类似列表的resize操作,但我们不需要为新生的元组分配任何额外的空间:

如果我们将其与列表的append操作比较,我们会看到它的复杂度是O(n)而不是列表的O(1)。这是因为对元组每添加一个新元素都会有分配和复制操作,而不是像列表那样仅在额外的空间耗尽时发生。所以元组并没有提供一个类似append的自增操作,任意两个元组相加始终返回一个新分配的元组

表示方式(1,2,3,4,5,6)

(1,2,3,'aa','cc',True)

(1,2,3)[0]/(1,2,3)[0:2]/(1,2) + (3,4)

python中的序列

str、list、tuple 都是一种序列

Python切片详解

Python可切片对象的索引方式

包括:正索引和负索引两部分,如下图所示,以list对象a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:

 Python切片操作的一般方式

一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、 step)。当只有一个“:”时,默认第三个参数step=1;当一个“:”也没有时, start_index=end_index,表示切取start_index指定的那个元素 • 切片操作基本表达式:object[start_index:end_index:step]

step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了 “切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时, 默认为1,即从左往右以步长1取值

start_index:表示起始索引(包含该索引对应值);该参数省略时,表示从对象“端点” 开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为 正从“起点”开始,为负从“终点”开始。

end_index:表示终止索引(不包含该索引对应值);该参数省略时,表示一 直取到数据“端点”,至于是到“起点”还是到“终点”,同样由step参数 的正负决定,step为正时直到“终点”,为负时直到“起点”

a[-1:-3] 为空

a[-1:-3:-1]

a[-3:-1]

a[:-3]

a[:-3:-1]

a[-3:]

列表和元组的区别

  1. 列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
  2. 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
  3. 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值