Python基础框架(一)——数据类型与封装

概述

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

 

对于上述框架,需要:

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

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

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

目录

概述

一、 数据类型

1.  字符串转义

三、数据封装(结构)

  1. 列表

1.1 分片与复制

1.2 比较运算符

2. 元组

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

3. 字符串格式化

3.1 format()

3.2 格式化操作符

3.3 转义符

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

*.1 enumerate()

*.2 zip()


一、 数据类型

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 格式化操作符

格式化操作符如下所示:

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

#操作符
> a = 5
> 'There are %d cat in the garden'%a
'There are 5 cat in the garden'

格式化辅助操作符如下:

#for example
> '%5.1f'%27.5681354
' 27.6'

3.3 转义符

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

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

*.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)

**文章参照了小甲鱼的python教程

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值