python学习

2018-12-25  本文已影响0人  DuffyMagic

python学习:http://www.runoob.com/python/python-tutorial.html

appium学习:https://testerhome.com/topics/1045

appium学习:http://blog.csdn.net/u011541946/article/details/77916671

selenium学习:http://blog.csdn.net/u011541946/article/category/6788788

1、中文编码,只要在文件开头加入 # -- coding: UTF-8 -- 或者 #coding=utf-8

2、python不用[]、{}、()来控制类,用缩进来写模块,对格式要求非常严格。

3、我们可以使用斜杠( \)将一行的语句分为多行显示,如果有括号则不需要分行符,如下所示:

total = item_one + \ item_two + \ item_three

4、Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。

5、python中单行注释采用 # 开头,python 中多行注释使用三个单引号(''')或三个双引号(""")。

6、print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号。

7、变量赋值不需要类型声明,但必须赋值。

8、python的数据类型:

数字类型:int(有符号整型)、long(长整型[也可以代表八进制和十六进制])、float(浮点型)、complex(复数)

字符串类型:String,从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,比如s="abcdefg",s[1:5]=bcde。

列表类型:List列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套),用[]来标识。

元组类型:是只读的List,用小括号,而list用中括号,元组中只包含一个元素时,需要在元素后面添加逗号。

字典类型:是以键值对形式存储,是无序的,字典用"{ }"标识。

9、python没有switch语句,用elif来代替。

10、while....else中else是不符合while括号中的条件时执行的。

11、for循环可以遍历任何序列的项目,如一个列表或者一个字符串。比如输入一个1——9的三角矩阵:

for i in range(1,11):

for j in range(1,i):

print j,

j+=1

i+=1

print "\n"

for.......else是在for语句执行完之后再执行else当中的语句,如输出1-100以内的所有素数:

for i in range(2,100):

j=2

for j in range(2,i):

if i%j ==0:

break

else:

num.append(i)

print num

12、pass是空语句,是为了保持程序结构的完整性

13、支持字符串格式化:

print "My name is %s and weight is %d kg!" % ('Zara', 21)

My name is Zara and weight is 21 kg!

14、python三引号允许一个字符串跨多行,单引号双引号都支持,必须成对。

15、ASCII编码和Unicode编码的区别:前者是一个字节8位,后者是两个字节16位,如A:01000001 A:00000000 01000001

16、列表的内置方法:

增加:append()方法, 删除:del list[1], 移除元素: remove(), 长度:len(), 扩展:extend([]) 排序(默认从小到大):sort(),sort(reserve=True)从大到小

组合:[1, 2, 3] + [4, 5, 6](+号左右类型一样) 重复:['Hi!'] * 4,

迭代:for x in [1, 2, 3]: print x, 比较:cmp([],[]), 最大值:max(list), 最小值:min(list), 某元素在列表中出现的次数:list.count(obj),

从列表中找出某个值第一个匹配项的索引位置:list.index(obj),

将对象插入到列表中:list.insert(index,obj) 从0开始计数

移除列表中的一个元素(默认最后一个元素):list.pop(obj=list([-1]),

反向列表中元素:list.reverse(),

列表拷贝:用分片的方式拷贝,比如list1=list[:],list1=list只是将list1指向list

deque双端队列:可以从列表两端进行添加删除操作

17、字典的内置方法:

fromkeys(键,值),创建并返回一个新的字典,给键重新赋值,但值只能是一个参数

删除字典内所有元素:dict.clear() 返回字典的浅复制:dict.copy()

返回指定键的值:dict.get(key) 判断是否存在此键:dict.has_key(key)

以列表形式返回可遍历的元组数组:dict.items() 返回所有的键:dict.keys()

把dict2的键值更新到dict:dict.update(dict2) 返回所有的值:dict.values()

删除字典给定键 key 所对应的值:pop(key[,default])

随机返回并删除字典中的一对键和值:popitem()

18、日期与时间

(1)获取当前时间戳:time.time()

(2)获取格式化当前时间:localtime = time.asctime( time.localtime(time.time()) )

格式转换:# 格式化成2016-03-20 11:45:39形式 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

(3)a%星期名称简化、b%月份名称简化、%d月内中的一天(0-31)、%H%L%M%S、24小时制 12小时制 分钟 秒、%m年中的月份(01-12)、%y两位数的年份、%Y四位数的年份

(4)datetime模块

datetime.date.today().strftime("%Y-%m-%d")按照格式输出当前日期

19、python模块是一个python文件,import引入一个模块:

import time;引入时间模块

from fib import fibonacci;从fib模块中引入fibonacci函数

from math import *;引入math模块的所有函数

20、python文件I/O

f.open(“文件路径”,“打开模式”) f.close()

f.read(size=-1) 从指针位置读取size个字符,一个字符等于两个字节

f.readline()读取一行字符 f.tell()查看当前指针位置

f.seek(offset,from) offset是指针移动的个数,from是0从头开始,1是当前位置开始,2是末尾开始 f.seek(0,0)回到最开始位置

f.write(str)将字符串写入 f.writeline()将一行字符串写入

21、python字符串的所有方法:

capitalize() 将字符串第一个改为大写字母

casefold() 将整个字符串改为小写字母

count("xi") 统计xi在字符串中出现的次数

endswith("xi") 字符串是否以xi结束,是返回true,不是返回false

find("xi") 检查字符串中是否有xi,找到返回第一次出现的索引,找不到返回-1

rfind("xi")和find()一样,只是从右边开始查找

join(sub) 以字符串作为分隔符插入到sub的每个字符之间

partition(sub) 找到sub子字符串将原来的字符串拆分成三个

replace(old,new)将新字符串替换掉旧字符串

split("sub") 以sub切割字符

swapcase() 翻转字符串中的大小写

title() 将字符串以标题的形式返回,第一个字符串为大写,其余为小写

upper() 将所有小写字符改为大写字符

lower() 所有大写转化为小写字符

22、获取当前项目根目录的相对路劲:os.path.dirname(os.path.abspath('.'))

23、python日志获取:logger,handler,filter,formatter

24、序列(字符串、列表、元组)的常用方法:len max min sum sorted reserved (返回的是对象,所以在前面加List) enumerate(给每个元素加上序列号) zip(把两个列表结合起来成对显示)

25、函数:

参数文档:func.doc 打印函数的参数文档

关键字参数:函数调用时指定参数的值

默认参数:函数定义的时候给形参直接赋值

收集参数:def test(*parms): 参数的个数类型是可以随便变换的

全局变量:在函数里面修改全局变量会生成新的局部变量,只是名字和全局变量一样,但也可以用global关键字在函数中声明,就可以修改全局变量

闭包:使用非全局变量的外包变量,这个函数称为闭包,可以用nonlocal声明变量

匿名函数:不用定义,直接g=lambda x:2*x+1 ,g(2)=5

filter(func/none,序列):过滤器,把后面序列的每一个元素经过前面函数的计算,将结果为真的过滤出来组成新的序列

map(func,序列):映射关系,将序列每个元素作为函数的参数运算加工后组成新序列输出

递归

import pickle 把列表、字典等写入文件中:

pickle.dump(list,file) pickle.load(file)

26、集合——没有映射关系的字典就是集合,具有唯一性和无序性

不可变集合:set1=frozenset([1,2,3]) set1就是不可变集合

27、os操作系统模块的常用方法:

getcwd()返回当前工作目录 chdir()改变当前工作目录 listdir()列举出当前所有目录名

mkdir()创建目录 makedirs()创建多层目录 remove()删除文件

rmdir()删除空的单层目录 removedirs()删除空的多层目录 rename(old,new)修改名

system(command)运行系统的shell指令

os.path模块常用的方法:

basename(path)去掉路径返回文件名 dirname(path)去掉文件名返回路径

join(path1,path2)合成一个路径 split(path)将路径和文件名分隔开

splitext(path)将文件名与扩展名分隔开 getsize(file)返回当前文件的尺寸

28、常见的几种异常:

AssertionError断言失败 AttributeError访问的对象方法不存在

IndexError索引超出序列的范围 KeyError字典中查找不存在的关键字

NameError访问不存在的变量 OSError操作系统的异常(打开不存在的文件)

SyntaxError python语法错误 TypeError不同类型间的无效操作(1+‘1’)

ZeroDivisionError除数为零

29、图形用户界面编程 import easygui as g g.msgbox(".....")一个确定键的弹框

g.choicebox(msy,title,choices) g.ccbox("......")一个继续一个取消的弹框

30、正则表达式:re模块使 Python 语言拥有全部的正则表达式功能

re.match() 从字符串起始位置匹配一个模式 re.search() 扫描整个字符串并返回第一个匹配的字符串 re.sub() 替换字符串中的匹配项 re.compile() 生成一个正则表达式对象 re.findall() 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表 re.finditer() 在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回 re.split() 按照能够匹配的子串将字符串分割后返回列表

上一篇下一篇

猜你喜欢

热点阅读