【python教程】1、基础知识、序列操作

一、基础知识

1、数和表达式

算术运算符:+、-、*、/(结果为浮点数)、//(整除,向下圆整)、%、**(乘方/求幂)

进制的前缀:二进制(0b)、八进制(0o)、十六进制(0x)

2、变量:只能有字母、数字和下划线组成,且不能以数字开头。使用变量前必须给它赋值。

3、模块:可将模块视为扩展,通过将其导入可以扩展python功能。

4、字符串

1.符号:

' ' 、" "、 转义字符、长字符串""" """、原始字符串 r(引号需要转义,不能以单个反斜杠结尾)。

长字符串、原始字符串:用于表示包含换行符或反斜杠的字符串。

常规字符串要横跨多行时,只需在行尾加上反斜杠。

2.拼接字符串:'a'+'b'。

3.字符串表示 str 和 repr:

>>> print(str('hello!
world'))  # 使用str,能以合理的方式将值转换为用户能看懂的字符串
Hello,
world
>>> print(repr('hello!
world'))  # 使用repr,会获得值的合法python表达式表示
'hello!
world'

5、unicode、bytes 和 bytearray

在python3中,所有的字符串都是Unicode字符串。python 字符串使用 unicode 编码来表示文本。

每个unicode字符都用一个码点表示,码点是unicode标准给每个字符指定的数字。这让你能够以任何现在软件都能识别的方式表示129个文字系统中的12万个以上的字符。

Unicode的理念很简单,但却存在编码问题。在内存和磁盘中,所有对象都是以二进制数字表示的(每8个一组-字节),字符串就是字节序列。

在诸如c等编程语言中,字节完全暴露。为与 C 语言互操作以及将文本写入文件或通过网络套接字发送出去,python 提供两种类似的类型:不可变的 bytes 和可变的 bytearray 。

6、print

# 自定义分隔符'_'
print('I', 'am', 'amy', sep='_')  # 打印:I_am_amy
# 自定义结束字符串,以替换默认的换行符
print('Hello,', end='')
print('world!')  # 打印'Hello,world!'

7、赋值

# 1、序列解包(可迭代对象解包):将一个序列解包,并将得到的值存储到一系列变量中
x, y, z = 1, 2, 3  # 要解包的序列中的元素个数必须与左边的目标个数相同
x, y = y, x  # 交换多个变量的值
a, b, *rest = [1, 2, 3, 4]  # 使用*号来收集多余的值,rest=[3, 4]
a, *b, c = 'abcd'  # 赋值语句的右边可以是任何类型的序列,但带*号的变量最终包含的总是一个列表。b=['b', 'c']

# 2、链式赋值:是一种快捷方式,用于将多个变量关联到同一个值
x = y = 1  # 等价于y = 1; x = y

# 3、增强赋值:不写代码x = x + 1,将右边表达式中的运算符移到赋值运算符的前面,写成x += 1。适用于所有标准运算符:*、/、%。

8、布尔值

假:标准值False和None,各种类型(浮点数、复数)的数值0、空序列(空字符串/元组/列表)和空映射

真:其他各种值

布尔值 True 和 False 属于类型bool,bool与list、str、tuple一样,可用来转换其他值。

注意:[]和''都为假( bool([]) == bool('') ),但 [] != ''。

二、通用的序列操作

数据结构:是以某种方式(通过编号)组合起来的数据元素集合。在python中,最基本的数据结构是序列。序列中的每个元素都有索引,如列表、元组、字符串。

python支持一种数据结构的基本概念,名为容器。容器基本上就是可包含其他对象的对象。两种主要的容器是序列(列表、元组)和映射(字典)。还有一种是集合(set)。

1、索引:序列中的所有元素都有编号,从0开始递增。使用索引访问单个元素,可以使用负数索引。

2、切片:访问特定范围内的元素。提供两个索引指定切片的边界,第一个索引指定的元素在切片内,第二个不在。

a = [1, 2, 3, 4, 5]
print(a[2:-1])  # 1、负数索引,不能包含最后一个元素
print(a[2:0])  # 2、使用索引0,结果为[]。如果第一个索引指定的元素在第二个后面,结果就为空序列
print(a[:2])  # 3、切片始于序列开头,可省略第一个索引
print(a[])  # 4、复制整个序列,可将两个索引都省略

3、序列相加:不能拼接不同类型的序列

print([1,2]+[3,4]) # 结果为[1,2,3,4]
print('hello, '+'world!')

4、乘法

print('an'*5)  # 字符串相乘
print([1,2]*3)  # 列表相乘,结果为[1,2,1,2,1,2]
print([None]*5)  # 结果为[None,None,None,None,None]

5、in 运算符:检查特定的对象是否在序列中(只能用于检查单个字符)

6、长度 len()、最大值 max()、最小值min()

原文地址:https://www.cnblogs.com/mind18/p/15034590.html