#斜体表示不熟悉的知识点
链式赋值
x=y=123, x=123,y=123
系列解包赋值
a,b,c=4,5,6
类型介绍(type)
整数:10/浮点:3.14/布尔:True/字符串:“sxt”
数字
运算符
浮点除法:/,整除://,取余数:%,幂:**,同时取得商和余数:divmod,返回的是元组
- 十进制转化为二进制:
转化原理:
0 | 0 |
---|---|
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
用二进制 | 0B101 |
---|---|
用八进制 | 0O10 |
十六进制 | 0X8 |
-
使用int()实现类型转换:
数字:不是四舍五入,是舍去小数
布尔型:True 转化为1,False转化为0
自动转型:整数+浮点=浮点,按浮点数进行运算,整数有多大:任意大小,故适合科学运算 -
使用float()实现类型转换:
round实现四舍五入 -
增强型赋值运算符
简写:+|*|/|//|1|%=1
时间
计算机默认从1970年1月1日0:00开始计算到现在的秒数。
import time
time.time()表示当前时刻
布尔值
- 运算符:== | != | > | < | >= | <= |
- 逻辑运算符: or | and | not
同一运算符
- is : 判断两个标识符是不是同一个对象,判断两者的id是否相同
- ==:判断两者的value是不是相等的
- is 比 ==效率高,在判断变量和None的时候,应该使用is
字符串
- 不可变
- 字符串的编码: 使用Unicode,默认16位
操作:ord(),字符→编码,chr(),编码→数字 - 创建字符串:字符串里有引号的情况,内有单引号,外用双引号,内有双引号,外用单引号, 或者使用转义字符
- 创建多行字符串,三个单引号或者双引号
- 空字符串,len():查字符串长度
转义字符
+ 特殊字符:换行:\n | \r(回车) | \t | ’ | " | \ | \(续航符)
8. 字符串拼接:拼接:+或者放在一起,字符串连接,用XX把列表里面的元素连接起来:“XX”.joint(a),a是字符串
a = ["aa","b","c"]
print("love".join(a))`
aaloveblovec
#增加一个元素
a.append('sxt')
aabcsxt
字符串复制
“ 我是字符串”*3=我是字符串我是字符串我是字符串
9. 不换行打印:print(XXX,end=‘我是任意字符串都可以’)
10. 输入: input()
my_name = input("请输入名字")
str(520) '520'
- 提取字符串:正向索引和反向索引
a = "adad weqwq"
a[-1]
q
replace()
不改变a字符串
生成一个新的字符串,且若字符串有若干个相同元素,修改这个元素,所有元素都会相应改变
a = "sasd"
a.replace("a","LLLL")
sLLLLsd
a
sasd
字符串切片
|[:]|前闭后开|
|[1:25:2]|从第二个元素取到24个元素,步长为2|
| [::-1]|从右到左反向取元素|
字符串切割
split():空白的话,则以空白键/换行符/制表符为标准,加上某个“ ”,则是分割前后
字符串比较
字符串驻留机制:只包括下划线英语和数字的时候,创建同一个对象,包括#这种符号的时候创建不同对象
17. 判断字符串是否在字符串中:in or not in
字符串查找
| len | 字符串长度 |
|startswith|是否以某个字符串开头|
|endswith | 是否以指定字符串结尾 |
a = [ 'Makefile', 'foo.c', 'bar.py', 'spam.c', 'spam.h' ]
# endswith 传入的参数必须要是元组,而不能是list 或者 set
b = [name for name in a if name.endswith(('.c','.h'))]
print(b)
运行结果
['foo.c', 'spam.c', 'spam.h']
|find| 第一次出现指定字符串的位置 |
|rfind|最后一次出现指定字符串的位置|
| count| 指定字符串出现了多少次 |
|isalnum| 所出现的全是字母和数字 |
|strip()|去除首尾指定字符串 |
大小写转换
|a.title| 所有单词首字母大写|
|a. capitalize|a的句子首字母大写|
|a.upper | 所有字母大写 |
|a.lower| 所有字母小写 |
|a.swapcase| 大小写反过来 |
格式排版
e = "dd"
print(e.center(20))
print(e.center(15,"&"))
print(e.ljust(10,"*"))
dd
&&&&&&&dd&&&&&&&&
dd********
其他检查
|isalnum| 是否全为字母或数字 |
|isalpha|是否只由字母构成|
|isdigit|是否全为数字|
|isupper|是否全为大写|
|islower|是否全为小写|
|isspace|是否全为空白格|
字符串格式化
a = "我的名字是是{0},我的年纪是{1}"
print(a.format("didi","18"))
b = "我的名字是{name},我的年纪是{age}"
print(b.format(name="didi",age=19))
我的名字是是didi,我的年纪是18
我的名字是didi,我的年纪是19
a = [0, 1, 2, 3, 4]
print('{b[0]}-{b[1]}-{b[3]}'.format(b=a))
################# 运行结果 ###############
0-1-3
填充和对齐
print("我喜欢的数字是{0:*>9}".format(2))
#冒号表示对几位数的需求,^<>表示居中,右对齐,左对齐,*>9表示格式
我喜欢的数字是********2