最近刚开始学python。总结的可能不是很好
print:打印值
input:可以进行等候赋值、进行一个交互
python中 需要两个==才为判断
变量:数字、字母、下划线组成
类型:int整数、str字符串 、bool布尔值(true、false)、
in 可以判断某某是否出现在xxx当中
如: if “草” in s s是一个input出来的一个东西
判断
if 条件
elif 条件
else
。。。
循环
while 条件:
代码块
else:
count 控制循环,计数
sum 总和
exit(0)直接退出程序
break打断本层循环,终止掉循环
continue打断本次循环,继续执行下次循
格式化输出:
%s占位字符串
%d占位数字
s = (“%s” % 变量或者任意)
当字符串被%被占用,需要两个%%进行转义才能打印出%,如上面的语法,%就被占用了,需要进行一个转义。
运算符:
+-*/ **幂 //整数 %求余
如:能整除2的数(偶数)
K % 2 == 0 (这是偶数,也就是能被2整除的数)
余==1也就是单数了
逻辑运算:
and 两个都为真,则就是真
not 真的既假,假的既真。
or 有一个真,则判定为真
下面一般面试用,开发很少用难以看懂:
运算顺序:() =》 not =》 and =》 or
True可以当做1
False可以当做0
0 or 1 返回结果是前面的数字1,前面为0则返回后面的,否则返回后面的值。
and跟or相反
类型转换:
Str 跟int的转换我就不打了
Bool:
0 和空都是 False ,否则是True
空:[] ,() ,{},None,里面没东西都是空
测试:print(bool()) 运行出来为False
测试2:
s = “a”
if s: #若s为数字可以直接判定,不需要赋值,一般用1。
print(“这样会打印”)
字符串:
s = “你好”
print(s{2})
结果:好
-1表示倒数第一 -2 表示倒数第二
切片
s[start:end] 顾头不顾尾,默认顺序从左往右
加:和数字时: 负数从后面取,否则从前面取,如2则是每隔2个开始取
测试: s=“你好吗”
Print(s[0:1])
结果:顾
步长:(默认为1)
冒号前面不写代表开头,后面不写代表结尾。
Insert插入
Append追加
append 追加
insert 插入(看索引)
extend 迭代添加
del 名字+索引 删除
pop 默认删除最后一个
startswitch 以某某开头
remove 可以删除指定元素 删除
凡是涉及到列表的多次删除,需要新建立一个列表,将需要删除的元素记录到新列表中,在调用新列表去进行循环获得变量的去删除。
clear 清空
名字+[索引] = 修改的后元素 修改(可以切片修改)
replace(啥,替换成啥) 替换
count 计算出现次数
sort() 排序(默认升序)降序则在括号里reverse=True
len 计算列表长度
find 查找,如果没有返回-1
index 查询索引位置,没有则会报错
strip 可以去掉某元素
upper() 全变成大写
split() 括号内以什么什么进行切割,字符串切会变成列表
字典{}
dic[key] = values会替换掉已存在的values
dic.setdefault(key,values) 如果已经存在则不会替换
pop(key)、del dict[key]、
update(key) 对整个字典进行更新(相同则替换,不同则增加)
get(查找的key,不存在返回值) 用来查找key,如果不存在则返回你想返回的值(默认返回None)。
for循环直接能拿到key 再进行dic[el] 直接拿到values
item 可以拿到key跟values组成的元组(可以直接拿key values)
“-”.join(某列表或字符串) 以-作为拼接
s = set(列表) 去重复,
列表 = list(s)
import copy 模块
copy.deepcopy 深层拷贝
集合
add追加
文件的操作
w写 r读 a追加
w+ 写读 、r+ 读写 、 a+ 追加,读写
wb ab rb 处理非文本文件
open(“文件位置”,mode=“模式”,encoding=“utf-8”)
函数
形参:def 函数名(形参列表)
函数体
形参中*可以赋值位置变量
**赋值自定义变量,模样如a=3
列表定义,默认值必须放在后面。
实参:ret = 函数名(实参列表)
函数的返回值
实参列表中*可以打散列表、元组、字符串。
**用来打散字典
return 只要执行到return 就会停止如果不写return 接受到的是none,return多个值返回元组
混合参数时关键字必须放后面
生成器:
什什么是⽣生成器. ⽣生成器实质就是迭代器.
生成器是将return 变成yield ,再通过_next_ 进行调用
函数内的send()可以给上一个yield传值
推导式:
列表:[结果 for循环 if筛选]
字典:[key:value for循环 if筛选]
day13
列表:查询效率高、不适合增删改,因为会移动位置导致循序打乱。
链表:查询效率一般、可以去增删改。
哈希值:查询效率最高、方便。