1、链式赋值用于同一个对象赋值给多个变量。
>>> x=y=123 相当于:x=123;y=123
2、系列数据赋值给对应相同个数的变量(个数必须保持一致)
>>> a,b,c=4,5,6 相当于:a=4;b=5;c=6
3、Python 不支持常量,实际上是可以改的,只能逻辑上不做修改。
4、Python 中最基本的内置数据类型和运算符:
数据类型:整型、浮点型(小数)、布尔型(Ture/False)、字符串型("abc")
运算符:+、-、*、/、//(整除)、%(取余数)、**(幂)
使用 divmod()函数同时得到商和余数:
>>> divmod(13,3)
(4, 1)
5、Python 中,除 10 进制,还有
·0b 或 0B,二进制 0 1
·0o 或 0O,八进制 0 1 2 3 4 5 6 7
·0x 或 0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f
6、浮点数用科学计数法表示。比如:3.14,表示成:314E-2 或者 314e-2。整数和浮点数混合运算时,表达式结果自动转型成浮点数。
7、round(value)可以返回四舍五入的值。
8、增强型赋值运算符:
a += 2 等价a = a + 2
a -= 2 等价a = a-2
a *= 2 等价a = a * 2
a /= 2 等价a = a / 2
a //= 2 等价a = a//2
a **= 2 等价a = a**2
a %= 2 等价a = a % 2
9、计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始(Unix时间点),以毫秒(1/1000 秒)进行计算。
>>> import time
>>> b = int(time.time())
>>> totalMinutes = b//60
>>> totalHours = totalMinutes//60
>>> totalDays = totalHours//24
>>> totalYears = totalDays//365
>>> totalYears
10、比较运算符:==、!=、> 、< 、>= 、<=
逻辑运算符:or、and、not
同一运算符:is、is not
is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
== 用于判断引用变量引用对象的值是否相等。
11、Python 在命令行中执行,仅仅对比较小的整数对象进行缓存(范围为[-5, 256])。而在 Pycharm 或者保存为文件执行,结果是不一样的(范围是[-5,任意正整数])。
12、使用内置函数 ord()可以把字符转换成对应的 Unicode 码;使用内置函数 chr()可以把十进制数字转换成对应的字符。
单行字符串:单、双引号都可以
多行字符串:三个单引号或三个双引号表示
空字符串:比如>>> c = ''
13、转义字符:
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\b 退格(Backspace)
\n 换行
\t 横向制表符
\r 回车
14、字符串拼接:可以用+号,也可以直接写在一起,例如:’aa’’bb’==>’aabb’
字符串复制:使用*号,例如:>>> a = 'Sxt'*3 >>> a 'SxtSxtSxt'
不换行打印:通过参数end=“任意字符串”,例如print("sxt",end='##') print("sxt") sxt##sxt
从控制台读取字符串:
>>> myname = input("请输入名字:")
请输入名字:Kira
>>> myname
15、str()可以帮助我们将其他数据类型转换为字符串。
16、通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。
正向搜索:最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1为止。
反向搜索:最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)为止。
17、字符串不可改变(注意不是常量,是字符串已定义好,里边每个字符是不可改变的)。但是,如果确实需要替换某些字符,只能通过创建新的字符串来实现。
>>> a = a.replace('c','高')
'ab 高 defghijklmnopqrstuvwxyz'
18、字符串切片slice
标准格式为:[起始偏移量 start:终止偏移量 end:步长 step] 包头不包尾
[::-1]步长为负,从右到左反向提取
19、split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔
符,则默认使用空白字符(换行符/空格/制表符)。
>>> a.split('be')
['to ', ' or not to ', '']
20、使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐
使用 join 函数,因为 join 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,
仅新建一次对象。
>>> a = ['sxt','sxt100','sxt200']
>>> '*'.join(a)
'sxt*sxt100*sxt200'
21、字符串驻留:Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母和数字)会启用字符串驻留机制驻留机制。
22、in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。
len(a) 字符串长度
a.startswith('我是') 以指定字符串开头
a.endswith('过我') 以指定字符串结尾
a.find('高') 第一次出现指定字符串的位置
a.rfind('高') 最后一次出现指定字符串的位置
a.count("编程") 指定字符串出现了几次
a.isalnum() 所有字符全是字母或数字
通过 strip()去除字符串首尾指定信息。
a.capitalize() 产生新的字符串,首字母大写
a.title() 产生新的字符串,每个单词都首字母大写
a.upper() 产生新的字符串,所有字符全转成大写
a.lower() 产生新的字符串,所有字符全转成小写
a.swapcase() 产生新的,所有字母大小写转换
isalnum() 是否为字母或数字
isalpha() 检测字符串是否只由字母组成(含汉字)。
isdigit() 检测字符串是否只由数字组成。
isspace() 检测是否为空白符
isupper() 是否为大写字母
islower() 是否为小写字母
23、格式排版
center()、ljust()、rjust()这三个函数用于对字符串实现排版。
>>> a.ljust(10,"*")
'SXT*******'
24、函数 str.format()用法,对字符串进行格式化。
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为 2)
5 {:x<4d} 5xxx 数字补 x (填充右边, 宽度为 4)
10 {:x<4d} 10xx 数字补 x (填充右边, 宽度为 4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00E+09 指数记法
13 {:10d} 13 右对齐 (默认, 宽度为 10)
13 {:<10d} 13 左对齐 (宽度为 10)
13 {:^10d} 13 中间对齐 (宽度为 10)
25、^、<、>剧中、左对齐、右对齐,后面带宽度
>>> "{:*>8}".format("245")
'*****245'
26、使用 io.StringIO()对字符串中的值进行原地修改。