Python笔记(一)

1.变量类型

Python 有五个内置的简单类型:bool、int、long、float和complex。这些类型是不可变的,就是说整数对象一旦创建,其类型便不可更改。

type()函数可以用来判断一个变量的类型

定义变量时候,不需要明确表明这个变量是那种类型,系统会自动判断你所赋值的类型是什么

>>> a = 5

>>>type(a)

>>> b = 'word'

>>>type(b)

2.逻辑运算符

运算符

描述

示例

not

逻辑非

not b

and

逻辑与

(i <= 100) and (b == True)

or

逻辑或

(i < 100) or (f > 100.1)

3.函数定义

Python的函数定义很简单,没有需要特定的返回类型

deffunc(argc1,argc2...):print ‘this is a func’

Python函数有个好处,是可以一次返回多个值

deffunc_muti_return():return (‘item1’, ‘item2’)

4.模块

一个.py文件代表一个模块。

1.importmodule

必须通过module.membe来访问member2.from module importmember

可直接访问

例如:importcsv

file= open('file_name')

rd=csv.reader(file)#--------------------------------

from csv importreader

file= open('file_name')

rd= reader(file)

5.常用函数

int(obj,base=10)      可接受进制参数,默认10进制。返回一个字符串或数值对象的整型表示

long(obj,base=10)     可接受进制参数,返回一个字符串或数据对象的长整型表示

float(obj)      返回一个字符串或数据对象的长整型表示

complex(str)       返回一个字符串的复数表示,或者根据给定实数生产复数对象

bool(obj)          将整数型1和0转换为标注布尔值True和False

abs(num) 返回给定参数的(num)绝对值

coerce(num1,num2) 仅返回一个包含类型转换完毕的两个数值元素的元组 如返回(1,2)

divmod(num1,num2) 把除法个取余运算集合起来,返回一个包含商和余数的元组

pow(x,y,z) 相当于 (x**y)%z,常用语密码运算

split(',')          分割函数

sort()           排列

isalnum()         是否全是字母和数字,并至少有一个字符

isalpha()          是否全是字母,并至少有一个字符

isdigit()          是否全是数字,并至少有一个字符 ,如果是全数字返回True,否则返回False

islower()         S中的字母是否全是小写

isupper()         S中的字母是否是大写

isspace()         是否全是空白字符,并至少有一个字符

istitle()          是否是首字母大写的

startswith(prefix[, start[, end]]) 是否以prefix开头

endswith(suffix[,start[, end]]) 以suffix结尾

encode([encoding[,errors]]) 编码

decode([encoding[,errors]]) 解码

6.字符串操作

len()   获取字符串长度

.replace('X','Y') 替换

.strip('X') 删除所有字符X

string[i] 第i位置上的字符

.find('X', x) 从x位置开始,找到目标返回首地址,失败返回-1

string[1:3] 可以进行切片,返回1到2的字符,3位置上的并不返回

del str 清空字符串

例子

python312 chardet模块 python comtypes模块_python 符号计算模块

python312 chardet模块 python comtypes模块_python 符号计算模块_02

#coding=gbk
importsysimportcsvimporttimeitclassStore:def __init__(self):
self.id= ''self.name= ''self.address= ''
defloadFile(file_name, storeList):
f=open(file_name)
r=csv.reader(f)
type=sys.getfilesystemencoding()for line inr:
m_store=Store()
m_store.id=line[0]
m_store.name= line[1]
m_store.address= line[2]
storeList.append(m_store)defmatch(str1, str2):
n=0
i=0
p=0if len(str1) >len(str2):
temp=str2
str2=str1
str1=temp
str1= str1.decode('gbk')
str2= str2.decode('gbk')while i 
temp=pif p+1 >=len(str2):breakp= str2.find(str1[i], p+1)if p != -1:
n+= 1
else:
p=temp
i+= 1
returnndefsaveFile(result):
writer= csv.writer(open('result.csv','w'), dialect='excel')for item inresult:
writer.writerow(item)if __name__=="__main__":
storeList1=[]
storeList2=[]
loadFile('brand.csv', storeList1)
loadFile('other.csv', storeList2)#for item in storeList2:
#print item.id+' '+item.name+' '+item.address
result=[]for item1 instoreList1:
n=0
each_row= [item1.id,item1.name,item1.address,'','','']for item2 instoreList2:
m=0
m+=match(item1.name, item2.name)
m+=match(item1.address, item2.address)if m < len(item1.address)/2 and m < len(item2.address)/2:continue
if m >n:
each_row[3] =item2.id
each_row[4] =item2.name
each_row[5] = item2.address.strip('\n')
n=mif n>4:
result.append(each_row)#print each_row[1].decode('gbk')+each_row[2].decode('gbk')+each_row[4].decode('gbk')+each_row[5].decode('gbk')
saveFile(result)print timeit.default_timer()
View Code

参考资料