四种集合:
列表(List):有序、可更改的集合。允许重复 []
元组(Tuple): 有序、不可更改的集合。允许重复 ()
集合(Set):无序、无索引。不允许重复 {}
字典(Dictionary)无序、可变、有索引的集合。不允许重复 key-value
备注:
1、单个元组必须在项目后添加一个逗号(thistuple = (“apple”,)),否则python无法识别
关键字
**kwargs 允许你将不定长度的键值对, 作为参数传递给一个函数。
如果你想要在一个函数里处理带名字的参数, 你应该使用**kwargs。
方法
pop():删除指定索引(未指定,删除最后一项)
len():获取列表长度
union():合并俩个集合(set3 = set1.union(set2))返回一个新集合
items():遍历函数键和值(for x, y in thisdict.items())
dict():字典构建函数 dict(“year”:2000,“mouth”:3)等价于{“year”:2000,“mouth”:3}
values():返回字典中所有值的列表
range():返回一个数字序列,默认从0开始
reverse():颠倒列表的顺序
iter():获取迭代器
update():thisset = {"apple", "banana", "cherry"}
thisset.update(["orange", "mango", "grapes"])
print(thisset)
语法:
while else: 当条件不再成立时,运行一次代码快
for else: 在循环结束时,执行一次else语句
pass: 类定义,函数定义不能为空,当写了某种无内容的类定义语句,用pass语句来避免错误
__init__(): 构造函数
self: 对类的当前实例的引用,用于访问属于该类的变量,必须是类中任意函数的首个参数
global: 使局部变量(函数内的变量)变为全局变量
import mymodule as mx: 重命名模块
from: 仅导入person1从mymodule模块中(from mymodule import person1)
使用from关键字导入,不可以使用模块名. 调用persion1,应直接调用
继承:
在子类中添加一个与父类中的函数同名的方法,覆盖父类方法的继承
迭代器:
1、从技术上讲,Python中迭代器是实现迭代器协议的对象,包含方法__iter__()和__next__()
2、for循环实际上创建了一个迭代器对象,并为每个循环执行next()方法
3、把对象/类创建为迭代器,必须为对象实现__iter__()和__next__方法
4、raise StopIteration :终止迭代
内置函数:
dir():列出模块中的所有函数名(或变量名)
异常处理:
raise:引出异常
try:测试代码块,查找异常
except:处理异常
finally:同java
with as: 适用于对资源进行访问的场合,将with后的返回值赋值给as后的变量
命令行输入:
python 3.6 使用input()
{
print("Enter your name:")
x = input()
print("Hello ", x)
}
python 2.7 使用raw_input()
字符串格式化:
{
age = 63
name = "Bill"
txt = "His name is {1}. {1} is {0:.2f} years old."
print(txt.format(age, name))
}
文件读取:
1、逐行遍历文件
{
f = open("demofile.txt", "r")
for x in f:
print(x)
}
2、完成后关闭文件: f.close()
和缓冲有关,可能类似java的flush(),
3、四种打开文件的方法:
"r" -读取,文件不存在报错
"a" -追加,文件不存在创建文件
"w" -写入,文件不存在创建文件
"x" -创建,文件存在,报错
"t" -文本,默认值
"b" -二进制
内建模块:
platform:
datetime:日期模块
json:处理JSON数据
re:正则表达式
class内置方法:
enter:with的时候触发,并附给as变量
exit:离开with语句时候触发
new:真正的构造方法
Python代理下载(不能有回车):
pip install chardet --proxy=http://jf207426:pw123456@proxy109.intra.oki.co.jp:8080
self.__dict__.items() : 相当于tostring
移除没有引用的包
Ctrl+alt+o
selenium 框架