干货 | Python进阶系列之学习笔记(二)-LMLPHP

目录

  • 对象

  • 字符串

一、对象

(1)什么是对象

(2)不可变对象

什么是不可变对象?

举例说明:

a = 5print(id(a))a = 4print(id(a)) # 重新赋值之后,内存地址发生改变print(id(a))

a = 4
print(id(a)) # 重新赋值之后,内存地址发生改变

实际操作:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(3)小整数池

# 举个栗子a=-5b=-5a is b:Truea=1000b=1000a is b:False
a=-5
b=-5 a is b:True a=1000
b=1000 a is b:False

实际操作:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(4)可变对象

什么是可变对象

举例说明

# 举个例子list1 = [1,2,3,4]print(list1)print(id(list1)) # 打印 id 地址list1[2] = 5 # 对列表进行改值操作print(list1) # 打印改值之后的列表内容print(id(list1)) # 打印改值之后的 id 地址
list1 = [1,2,3,4] print(list1)
print(id(list1)) # 打印 id 地址 list1[2] = 5 # 对列表进行改值操作 print(list1) # 打印改值之后的列表内容
print(id(list1)) # 打印改值之后的 id 地址

实际操作

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(5)编码

先说说什么是编码

ASCII码:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

UNICODE万国码:

UTF-8码

(6)bytes与str

编码转换过程

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(7)数据类型

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(8)下标(索引)

# 如果想取出部分字符,那么可以通过下标的方法,(注意 python 中下标从 0 开始)name = 'abcdef'print(name[0])print(name[1])print(name[2])运行结果:abc0 开始)
name = 'abcdef' print(name[0])
print(name[1])
print(name[2]) 运行结果:
a
b
c

(9)切片

# 我们以字符串为例讲解。如果取出一部分,则可以在中括号[]中,使用:name = 'abcdef'print(name[0:3]) # 取 下标0~2 的字符结果为:abcs = 'Hello World!'print(s[4])print(s)print(s[:]) # 取出所有元素(没有起始位和结束位之分),默认步长为1print(s[1:]) # 从下标为1开始,取出 后面所有的元素(没有结束位)print(s[:5]) # 从起始位置开始,取到 下标为5的前一个元素(不包括结束位本身)print(s[:-1]) # 从起始位置开始,取到 倒数第一个元素(不包括结束位本身)print(s[-4:-1]) # 从倒数第4个元素开始,取到 倒数第1个元素(不包括结束位本身)print(s[1:5:2]) # 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)# python 字符串快速逆置print(s[::-1]) # 从后向前,按步长为1进行取值# 索引是通过下标取某一个元素# 切片是通过下标取某一段元素
name = 'abcdef'
print(name[0:3]) # 取 下标0~2 的字符 结果为:
abc s = 'Hello World!'
print(s[4])
print(s)
print(s[:]) # 取出所有元素(没有起始位和结束位之分),默认步长为1
print(s[1:]) # 从下标为1开始,取出 后面所有的元素(没有结束位)
print(s[:5]) # 从起始位置开始,取到 下标为5的前一个元素(不包括结束位本身)
print(s[:-1]) # 从起始位置开始,取到 倒数第一个元素(不包括结束位本身)
print(s[-4:-1]) # 从倒数第4个元素开始,取到 倒数第1个元素(不包括结束位本身)
print(s[1:5:2]) # 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身) # python 字符串快速逆置
print(s[::-1]) # 从后向前,按步长为1进行取值 # 索引是通过下标取某一个元素
# 切片是通过下标取某一段元素

(10)复制(拷贝)

赋值:

实际操作:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

图片详解:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

实际操作:

l = [1, 2, 3, 4, [1, 2, 3] ] # 列表中有整数数据类型,也有列表数据类型new_l = l 对 对象 l 的引用copy_l = copy.copy(l) 对 对象 l 的浅拷贝deepcopy_l = copy.deepcopy(l) 对 对象 l 的深拷贝1, 2, 3, 4, [1, 2, 3] ] # 列表中有整数数据类型,也有列表数据类型
new_l = l 对 对象 l 的引用
copy_l = copy.copy(l) 对 对象 l 的浅拷贝
deepcopy_l = copy.deepcopy(l) 对 对象 l 的深拷贝
l = [1, 2, 3, 4, [1, 2, 3] ] id(l) ---> 1631063137352  new_l = l id(new_l) ---> 1631063137352copy_l = copy.copy(l) id(copy_l) ---> 1631063137416deepcopy_l = copy.deepcopy(l) id(deepcopy_l) ---> E16310630266321, 2, 3, 4, [1, 2, 3] ] id(l) ---> 1631063137352

new_l = l id(new_l) ---> 1631063137352

copy_l = copy.copy(l) id(copy_l) ---> 1631063137416

deepcopy_l = copy.deepcopy(l) id(deepcopy_l) ---> E1631063026632
l = [1, 2, 3, 4, [1, 2, 3] ] id(l[1]) ---> 1400022144 new_l = l id(new_l[1]) ---> 1400022144copy_l = copy.copy(l) id(copy_l[1]) ---> 1400022144deepcopy_l = copy.deepcopy(l) id(deepcopy_l[1]) ---> 14000221441, 2, 3, 4, [1, 2, 3] ] id(l[1]) ---> 1400022144

new_l = l id(new_l[1]) ---> 1400022144

copy_l = copy.copy(l) id(copy_l[1]) ---> 1400022144

deepcopy_l = copy.deepcopy(l) id(deepcopy_l[1]) ---> 1400022144
l = [1, 2, 3, 4, [1, 2, 3] ] id(l[-1]) ---> 1631063137544 new_l = l id(new_l[-1]) ---> 1631063137544copy_l = copy.copy(l) id(copy_l[-1]) ---> 1631063137544deepcopy_l = copy.deepcopy(l) id(deepcopy_l[-1]) --->16310631863121, 2, 3, 4, [1, 2, 3] ] id(l[-1]) ---> 1631063137544

new_l = l id(new_l[-1]) ---> 1631063137544

copy_l = copy.copy(l) id(copy_l[-1]) ---> 1631063137544

deepcopy_l = copy.deepcopy(l) id(deepcopy_l[-1]) --->1631063186312

浅拷贝 copy:

深拷贝 deepcopy:

(10)列表推导式

实际操作:干货 | Python进阶系列之学习笔记(二)-LMLPHP

二、字符串

(1)字符串的格式

num = 2222
name = 'hello july''hello july'

总结:

(2)字符串输出

name = '英雄联盟'kind = '游戏'address = '王者峡谷'print('**************************************************')print("姓名:%s" % name)print("种类:%s" % kind)print("公司地址:%s" % address)print('**************************************************')
kind = '游戏' address = '王者峡谷' print('**************************************************') print("姓名:%s" % name) print("种类:%s" % kind) print("公司地址:%s" % address) print('**************************************************')

实际操作:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(3)字符串输入

userName = input('请输入用户名:') # 命名规范 userName 简单易懂代表用户名字print("用户名为:%s" % userName)password = input('请输入密码:')print("密码为:%s" % password)'请输入用户名:') # 命名规范 userName 简单易懂代表用户名字

print("用户名为:%s" % userName)

password = input('请输入密码:')

print("密码为:%s" % password)

实际操作:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(4)下标和切片

干货 | Python进阶系列之学习笔记(二)-LMLPHP

字符串中"下标"的使用

干货 | Python进阶系列之学习笔记(二)-LMLPHP

name = "JULYEDU.COM"name[0]name[6]"JULYEDU.COM"

name[0]

name[6]

实际操作:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(5)切片

切片的语法:

name = "JULYEDU.COM"print(name[0:7]) # 取 下标0~7 的字符

print(name[0:7]) # 取 下标0~7 的字符

运行结果:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

name = "JULYEDU.COM"print(name[0:7]) # 取 下标 0~7 的字print(name[3:5]) # 取 下标 3~5 的字print(name[3:]) # 取 下标为 3 开始一直到最后的字print(name[1:-1]) # 取 下标为 1 开始到最后第 2 个之间的字符print(name[1::2]) # 取 下标为 1 开始一直到最后的字,每两个切一个

print(name[0:7]) # 取 下标 0~7 的字

print(name[3:5]) # 取 下标 3~5 的字

print(name[3:]) # 取 下标为 3 开始一直到最后的字

print(name[1:-1]) # 取 下标为 1 开始到最后第 2 个之间的字符

print(name[1::2]) # 取 下标为 1 开始一直到最后的字,每两个切一个

运行结果:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

(6)字符串常见操作

find()

web.find('july') # 返回下标 4'july') # 返回下标 4

lower()

name = 'Wo Zui Shuai !'name.lower() # 结果返回:'wo zui shuai !''Wo Zui Shuai !'

name.lower() # 结果返回:'wo zui shuai !'

upper()

name = 'Wo Zui Shuai !'name.upper() # 返回结果:'WO ZUI SHUAI !''Wo Zui Shuai !'

name.upper() # 返回结果:'WO ZUI SHUAI !'

count()

web.count('w') # 返回结果 3 ,表示 w 在 web 值中出现 3 次'w') # 返回结果 3 ,表示 w 在 web 值中出现 3 次

index()

web.index('a') # 举一个匹配失败得例子'a') # 举一个匹配失败得例子

干货 | Python进阶系列之学习笔记(二)-LMLPHP

split()

web.split('.',2) # split(以什么为切割点 ,切割几次)'.',2) # split(以什么为切割点 ,切割几次)

运行结果:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

replace()

web.replace('w','W',2).replace('w','W',2)

运行结果:

干货 | Python进阶系列之学习笔记(二)-LMLPHP

title()

web.title() # 返回 'Www.Julyedu.Com'
05-11 18:16
查看更多