python 常用函数

来源:互联网 发布:2017程序员 编辑:程序博客网 时间:2024/05/16 00:46

代码为python 3.4版本

#字母的数字的相互转换

#ord:字母转数字ord('A')#chr:数字转字母chr(65)

#python 的三元表达式的用法

#给定数字1或0 转为是与否k = '1'd = '是' if int(k) else '否'


#python lambda表达式

lambda表达式可以很方便的用来代替简单函数

#float转str 去掉末尾的'.0'>>> func = lambda x:str(x) if int(str(x).split('.')[1]) else str(x).split('.')[0]>>> func(2.0)

相当于

def func(x):    if int(str(x).split('.')[1]):        x = str(x)    else:        x = str(x).split('.')[0]    return xprint (func(2.0))

#python 列表推导式

#二维元组转列表a = (    ('魏登武', 18912347226.0, '农商行',0.0, 4.0, 0.0, 11820.0, 0.0, 0.0, 11560.0, 0.0,  '0', '0.08', '70', '0', '张明锋'),    ('魏德华', 18712345620.0, None,0.0, 3.0, 10000.0, 5000.0, 4000.0, 0.0, 0.0, 0.0,  None, '0.05', '70', '1', '贺世海')    )b = [list(i) for i in a]print (b)

#列表推导式嵌套

#二维元组转列表#win32com操作excel--->sheet.Range().value得到 a 这样的元组#sheet.Range(sheet.Cells(row1, col1), sheet.Cells(row2, col2)).Value   a = (    ('魏登武', 18912347226.0, '农商行',0.0, 4.0, 0.0, 11820.0, 0.0, 0.0, 11560.0, 0.0,  '0', '0.08', '70', '0', '张世锋'),    ('魏德华', 18712345620.0, None,0.0, 3.0, 10000.0, 5000.0, 4000.0, 0.0, 0.0, 0.0,  None, '0.05', '70', '1', '贺明海')    )b = [list(i) for i in a]#元组转列表def func(i):    if i == None:        i = ''    elif type(i) == float:        i = str(i).split('.')[0] if str(i).split('.')[1] == '0' else str(i)    return i#列表推导式嵌套c = [[func(j) for j in i] for i in b]#替换二维列表里的None和float转str并去掉小数为0 的  ‘.0’print (c)



#ord:字母转数字

ord('A')

#chr:数字转字母

chr(65)



#json与列表的相互转换
dumps#
json.dumps(k)->json


k = '123'
json.loads(k)->列表


#正确获取当前的路径:
print (os.path.dirname(os.path.realpath(__file__)))



#win32com操作excel中

#获取最大行数

#n = sheet.UsedRange.Rows.Count


xpath常用定位
starts-with 顾名思义,匹配一个属性开始位置的关键字

contains 匹配一个属性值中包含的字符串

text() 匹配的是显示文本信息,此处也可以用来做定位用
eg

//input[starts-with(@name,'name1')]     查找name属性中开始位置包含'name1'关键字的页面元素

//input[contains(@name,'na')]         查找name属性中包含na关键字的页面元素

<a href="http://www.baidu.com">百度搜索</a>

xpath写法为 //a[text()='百度搜索'] 
或者 //a[contains(text(),"百度搜索")]