python 常用函数

代码为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 x
print (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关键字的页面元素

百度搜索

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

你可能感兴趣的:(python,常用知识点)