04. python从入门到精通——元组(tuple)、字符串 、 bytes bytearray

1.元组:

类似于列表的一个变形
一个有序的元素组成的集合
使用小括号( ) 表示
与列表区别:
	元组是不可变对象
	元组要比列表访问和处理速度要快
	元组可以作为字典的键,列表不行

2.定义
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述
5.元组其它操作:

元组是只读的,所以增、改、删元组中的元素方法都没有
注意:
	例如:(1,2,[5,6],3) 中引用的列表是可以被改动的
	想要修改需要重新赋值
	可以把两个元组相加得到新的元组但是不能元组与字符串相加
删除元素:del tuplename,但是不常用,python自带垃圾回收机制

6.命名元组namedtuple(创建一个类)
(语法)namedtuple(typename, field_names, verbose=False, rename=False)
命名元组,返回一个元组的子类,并定义了字段
field_names可以是空白符或逗号分割的字段的字符串,可以是字段的列表
例:
from collections import namedtuple #从collections中载入namedtuple模块
Point = namedtuple(‘p’,[‘x’,‘y’]) # Point为返回的类
在这里插入图片描述
元组推导式:

import random
pt = (random.randint(10,100) for i in range(10))
输出:
	print(tuple(pt))#显示的是生成器对象,需要tuple函数进行转换
	或者
	for i in pt:
	    print(i,end=' ')
	print(pt)
		#生成器对象可以通过for循环进行遍历,但这个方法会让pt变成一个空元组,因为在服务生成器对象时,这个对象就已经被删除了

字符串

1.

在这里插入图片描述
2.定义字符串:
r" " 的作用是去除转义字符.
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述
5.join:定义分隔符,返回字符串
在这里插入图片描述
6.字符串 连接*
例: a=‘bc’
a*2
输出:‘bcbc’
7.字符串分割

split:返回的是列表
	listname = str.split(sep,maxsplit)
		#sep:指定分隔符,可省略默认为空格,包括\n、\t等字符
		#maxsplit:指定分割次数,可省略默认为是所有等同于指定为-1。当maxsplit未省略时sep也必须指定

补充:string[ start:end :step]
8.rsplit:从反方向切割(但是输出顺序不变),用法同split
9.splitlines:
在这里插入图片描述
10.partition,返回元组
在这里插入图片描述
**11.rpartition:**用发与partition相同,但是是从后往前分割,输出也是从后往前
12.字符串大小写转换:
在这里插入图片描述
13.
在这里插入图片描述
14.replace(替换)
在这里插入图片描述
15.strip (默认用于去除字符串左右两端的空格和特殊字符,或者指定字符)
在这里插入图片描述
lstrip:去除左侧字符
rstrip:去除右侧字符
16.find(检索一个字符串在另一个字符串中首次出现的位置)
在这里插入图片描述
rfind :从左至右

17.index, 类似于find,但是未找到时抛出异常ValueError,最好不要用,代价比find大
在这里插入图片描述
18.count (检索一个字符串在另一个字符串中出现的次数)
在这里插入图片描述
补充:len函数,计算字符串的字符数

print(len(string)
print(len((str.encode()))) #计算UTF-8编码的字符长度

19.(检索一个字符串是否以一个指定的字符串开头或结尾)
在这里插入图片描述
20.(了解)
在这里插入图片描述
21.printf style风格(c语言风格)字符串格式化输出,python早期版本中使用:
注意:格式化后的结果都是字符串类型

语法: '%[-][+][0][m][.n]格式化字符'%exp
	#'':单引号引起来的一个字符串
	#%:必须的一个标识符
	#[-]:表示左对齐,在正数前面没有符号,负数前面加上负号
	#[+]:表示右对齐,在正数前面没有符号,负数前面加上负号
	#[0][m]:m表示这个数值所占的宽度,0表示右对齐,宽度不足的用0补齐,在正数前面没有符号,负数前面加上负号
	#[.n]:表示小数点后保留的位数
	#格式化字符:必选参数,用来指定类型,例如字符串用s表示;十进制数用d表示;浮点数用f表示
	#%exp:其中%是必须的不能省略,%exp表示要转换的项,如果有多个项必须使用元组来进行指定而不能使用列表

在这里插入图片描述

例:
template = '编号:%09d\t公司名称:%s\t 官网:http://www.%s.com' 	#定义模板
item = (7,"百度","baidu")
item2 = (123,"淘宝","taobao")
print(template%item)
print(template%item2)

22.format函数格式字符串语法——Python鼓励使用:
format的type参数可选的类型详解

语法:
str.format(args)
	#str:自定义模板
	#args:指定要转换的项,可以有多项使用需使用逗号进行分割
其中args模板语法:
{[index][:[[fill]align][sign][#][width][.precision][type]]}
#[index]:可选参数,如果指定那么就会设置格式对象在参数列表中的索引位置,索引值是从0开始,如果省略就按照值得先后顺序自动分配;如果选择手动指定,那么所有参数都需要选择手动指定
#[fill]:用来指定空白处填充的字符的
#align:对齐方式
	如果为小于号表示内容左对齐;如果为大于号表示内容右对齐;
	如果为等号表示内容左对齐并且把这个符号放在填充内容的最右侧,这个参数只对数字类型有效;
	如果值为向上的尖括号表示内容居中,通常这个参数要和后面的width一起使用
#sign:用来指定有无符号数的。
	如果值为加表示正数加正号,负数加负号;
	值为减号表示正数不变,负数加负号
	值为空格表示正数加空格,负数加负号
# #号参数:用来指定对于二进制八进制和十六进制是否加前缀的,如果加上这个#号就会在进制数前面加上相应的前缀:二进制(0b)、八进制(0O)、十六进制(0x)
#width:用来指定所占宽度的
#.precision:指定保留的小数位数
#type:类型参数,指要格式化的字符的类型:type参数可选的类型有d,u,f,e,g,n,m,p,s,x.
	字符串(s)
	十进制整数(d)
	浮点数(f)
	科学表示法,对应整型数和浮点数(e)
	百分比显示(%)

例
template = '编号:{:0>9d}\t公司名称:{:s}\t 官网:http://www.{:s}.com' #模板
print(template.format(7,"百度","baidu"))

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

bytes

1.
在这里插入图片描述

encode() 方法编码
	str.encode([encoding="utf-8"][,errors="strict"])
		#[encoding="utf-8"]:指定编码,也可以直接写成"utf-8"
		#[,errors="strict"]:用来指定错误处理方式的,有四种
			strict:遇到非法字符就抛出异常(默认)
			ignore:忽略非法字符
			replace:用问号替换非法字符
			xmlcharrefrepace:使用xml的字符应用
			
decode()方法解码
	str.decode([encoding="utf-8"][,errors="strict"])
		#[encoding="utf-8"]:需要与编码时的方式一致,如果不一致会抛出异常

2.python的浅拷贝,影子拷贝和深拷贝
3.
在这里插入图片描述

4.
在这里插入图片描述

bytearray

1.
在这里插入图片描述
2.
在这里插入图片描述
在这里插入图片描述
3.切片
在这里插入图片描述
举例:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值