本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
以下文章来源于腾讯云 作者:咸鱼学Python
( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
元组
1.1 元组操作
Python 的元组与列表类似,不同之处在于tuple被创建后就不能对其进行修改,类似字符串。
- 元组使用小括号,列表使用方括号。
- 元组可以使用在不希望数据被其他操作改变的场合。
1.2 解压元组
解压(unpack)一维元组(有几个元素左边括号定义几个变量)
【例子】
(a, b, c) = (1, 10.31, 'python')
print(a, b, c)
# 1 10.31 python
解压二维元组(按照元组里的元组结构来定义变量)
【例子】
t = (1, 10.31, ('OK', 'python'))
(a, b, (c, d)) = t
print(a, b, c, d)
# 1 10.31 OK python
如果你只想要元组其中几个元素,用通配符「*」,英文叫 wildcard,在计算机语言中代表一个或多个元素。下例就是把多个元素丢给了 rest 变量。
【例子】
t = 1, 2, 3, 4, 5
a, b, *rest, c = t
print(a, b, c) # 1 2 5
print(rest) # [3, 4]
如果你根本不在乎 rest 变量,那么就用通配符「*」加上下划线「_」。
【例子】
a, b, *_ = t
print(a, b) # 1 2
字符串
2.1 字符串介绍
字符串的定义:
字符串为引号之间的字符集合,这里引号包括单引号、双引号,三引号(三个连续的单引号或双引号)。
【例子】
>>> s1='I love Python'
>>> s1
'I love Python'
>>> s2=str([1,2,3])
>>> s2
'[1, 2, 3]'
Python的转义字符
字符串前加 u、r、b
- u"中文字符组成的字符串"
作用:以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。 - r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不表示换行
作用:去掉反斜杠的转义机制,常用于正则表达式,对应着re模块。 - b’Hello World’ # 表示这是一个 bytes 对象
作用:b" "前缀表示:后面字符串是bytes 类型。在网络编程中,服务器和浏览器只认bytes 类型数据。在 Python3 中,bytes 和 str 的互相转换方式是str.encode(‘utf-8’)和bytes.decode(‘utf-8’)。
2.2 字符串格式化
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
【例子】
print "My name is %s and weight is %d kg!" % ('Zara', 21)
# My name is Zara and weight is 21 kg!
python 字符串格式化符号:
格式化操作符辅助指令:
1.3 format 格式化函数
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
- 基本语法是通过 {} 和 : 来代替以前的 % 。
- format 函数可以接受不限个参数,位置可以不按顺序。
【例子】
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
也可以设置参数:
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
数字格式化
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
【例子】
>>> print("{:.2f}".format(3.1415926));
3.14
>>> print ("{} 对应的位置是 {{0}}".format("runoob"))
runoob 对应的位置是 {0}
练习题:
1、列表操作练习
列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
请写程序完成下列操作:
- 在列表的末尾增加元素15
- 在列表的中间位置插入元素20
- 将列表[2, 5, 6]合并到lst中
- 移除列表中索引为3的元素
- 翻转列表里的所有元素
- 对列表里的元素进行排序,从小到大一次,从大到小一次
>>> lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
>>> lst.append(15)
>>> lst.insert(5,20)
>>> lst.extend([2, 5, 6])
>>> del lst[3]
>>> lst.reverse()
>>> lst.sort()
>>> lst.sort(reverse=True)