概述

本篇文章将会讲述python的数据类型,以下是大框架,请对照并确认自己掌握相关知识点,若有不清楚的可以用python自行进行实践或者搜索其它资料辅助理解,本文只对标橙部分进行补充理解。

python搭建基岩版插件开发框架 python基础框架_字符串

对于上述框架,需要:

1. 了解python的四种数据类型,类型的转换与获取方法

2. 了解python的运算符号,优先级

3. 掌握python的五种数据结构:列表、元组、字符串、字典、集合,重点掌握它们的创建、访问、更新、插入、删除、复制基本操作。

目录

一、 数据类型

1.  字符串转义

(1) 在字符串内部用反斜杠'\'表示转义

#下列代码的/对'进行了转义

> 'Let/'s go'

Let's go

(2) 用在字符串外部加上r表示转义。

#下面代码对整个字符串进行了转义,则字符串中的/n不表示换行

> r'C:/now/...'

C:/now/...

(3) 于长字符串(即包含很多次换行)可以用三个双引号括起来表示转义

#下述代码对长字符串自动进行换行

> print("""我喜欢python

我要努力学习python

所以每天要学学习个小时""")

我喜欢python

我要努力学习python

所以每天要学学习个小时

三、数据封装(结构)

1. 列表

1.1 分片与复制

(1)分片:

列表[起始索引:终止索引:步长]----将会以步长连续拷贝一个从起初索引到终止索引的列表(注意:①不包含终止索引对应的值;②步长为负的时候则将列表从后往前复制)

#分片复制

> number = [2,4,6,3,5,6,7]

> number[1:5:1]

[4,6,3,5]

> number[1:5:-1]

[6,5,3,6]

(2)赋值、浅复制与深复制

① 赋值----完全共享数据,变动是相关联的

#赋值

> a = [3,2,5,1,7]

> b = a

> b[1] = 55

> b

[3, 55, 5, 1, 7]

> a

[3, 55, 5, 1, 7]

②列表.copy() 或者分片→浅复制----只可以拷贝第一层,则第一层的数据更改不会互相影响;更深层次的为赋值,即数据完全共享。

#浅复制

#深层次同赋值,是完全的数据共享

> l1 = [1,2,3,[11,22,33]]

> l2 = l1[:]

> l1[3][2] = 'aaa'

> l1

[1, 2, 3, [11, 22, 'aaa']]

> l2

[1, 2, 3, [11, 22, 'aaa']]

#第一层则为拷贝,数据不互相影响

> l2[1] = 111

> l1

[1, 2, 3, [11, 22, 'aaa']] #值不变

③列表.deepcopy()→深赋值----数据完全不共享

#深复制

> l1 = [1,2,3,[11,22,33]]

> l2 = l1.deepcopy()

> l1[3][2] = 'aaa'

> l2

[1,2,3,[11,22,33]] #l2的值不变

1.2 比较运算符

# 比较运算符

> num1 = [123,234]

> num2 = [234,22]

> num1 > num2

False

> alpha1 = ['abc']

> alpha2 = ['zaa']

> alpha1 < alpha2

True

Tips:

① 当列表有多个元素的时候只比较第一个元素

②  列表为字符串的时候,只比较字符串的第一个字母

2. 元组

2.1 通过拼接的方式进行插入与删除

#想在a下标为2的位置插入111

> a = [3,2,5,1,7]

> a = a[:2]+[111]+a[2:]

> a

[3, 2, 111, 5, 1, 7]

3. 字符串格式化

3.1 format()

#format()

> "{0} loves {1},{a} loves {1}".format("prince", "princess", a="everybody")

'prince loves princess,everybody loves princess'

Tips:

(1)字符串中相应的部分用变量替换并用大括号括起来。

(2){0},{1}这些在format内部叫做位置关键数,{a}叫做关键字参数(需要赋值左右),位置参数必须在关键字参数前面。

3.2 格式化操作符

格式化操作符如下所示:

python搭建基岩版插件开发框架 python基础框架_python搭建基岩版插件开发框架_02

在字符串内部加入格式化操作符,紧跟字符串加上%和传入数据,使用方法可以用下面概括:

#操作符

> a = 5

> 'There are %d cat in the garden'%a

'There are 5 cat in the garden'

格式化辅助操作符如下:

python搭建基岩版插件开发框架 python基础框架_赋值_03

#for example

> '%5.1f'%27.5681354

' 27.6'

3.3 转义符

下面是转义符以及其含义:

python搭建基岩版插件开发框架 python基础框架_python搭建基岩版插件开发框架_04

*序列的内置函数——迭代

*.1 enumerate()

enumerate可以结合for语句一起使用,返回下标和值组成的二元组:

#example

> a = [2,4,5,8,3,7,4]

> for i,num in enumerate(a):

> print(i,num)

0 2

1 4

2 5

3 8

4 3

5 7

6 4

*.2 zip(结构1,结构2,结构3)

结合for语句,可以返回一个多个结构元素遍历的元组:

#example

> a = [6,3,2,6,7]

> b = 'Lovely'

> c = [5,3,2,6,7]

> for i in zip(a,b,c):

> print(i)

(6, 'L', 5)

(3, 'o', 3)

(2, 'v', 2)

(6, 'e', 6)

(7, 'l', 7)