Python变量/运算符/函数/模块/string
Python笔记(一)
1.变量类型
Python 有五个内置的简单类型:bool、int、long、float 和 complex。这些类型是不可变的,就是说整数对象一旦创建,其类型便不可更改。
type()函数可以用来判断一个变量的类型
定义变量时候,不需要明确表明这个变量是那种类型,系统会自动判断你所赋值的类型是什么
>>> a = 5
>>> type(a)
<type 'int'>
>>> b = 'word'
>>> type(b)
<type 'str'>
2.逻辑运算符
| 运算符 | 描述 | 示例 |
not |
逻辑非 | not b |
and |
逻辑与 | (i <= 100) and (b == True) |
or |
逻辑或 | (i < 100) or (f > 100.1) |
3.函数定义
Python的函数定义很简单,没有需要特定的返回类型
def func(argc1,argc2...):
print ‘this is a func’
Python函数有个好处,是可以一次返回多个值
def func_muti_return():
return (‘item1’, ‘item2’)
4.模块
一个.py文件代表一个模块。
1.import module
必须通过module.membe来访问member
2.from module import member
可直接访问
例如:
import csv
file = open('file_name')
rd = csv.reader(file)
#--------------------------------
from csv import reader
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 清空字符串
例子
# coding=gbk
import sys
import csv
import timeit class Store:
def __init__(self):
self.id = ''
self.name = ''
self.address = '' def loadFile(file_name, storeList):
f = open(file_name)
r = csv.reader(f) type = sys.getfilesystemencoding() for line in r:
m_store = Store()
m_store.id = line[0]
m_store.name = line[1]
m_store.address = line[2]
storeList.append(m_store) def match(str1, str2):
n = 0
i = 0
p = 0 if len(str1) > len(str2):
temp = str2
str2 = str1
str1 = temp str1 = str1.decode('gbk')
str2 = str2.decode('gbk')
while i < len(str1):
temp = p
if p+1 >= len(str2):
break
p = str2.find(str1[i], p+1)
if p != -1:
n += 1
else:
p = temp
i += 1
return n def saveFile(result):
writer = csv.writer(open('result.csv','w'), dialect='excel')
for item in result:
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 in storeList1:
n = 0
each_row = [item1.id,item1.name,item1.address,'','','']
for item2 in storeList2:
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 = m
if 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()
参考资料
http://www.ibm.com/developerworks/cn/opensource/os-python1/
http://www.cnblogs.com/happyframework/p/3255962.html
Python变量/运算符/函数/模块/string的更多相关文章
- python 循环语句 函数 模块
python循环语句 while循环语法结构 当需要语句不断的重复执行时,可以使用while循环 while expression: while_suite 语句ehile_suite会被连续不断的循 ...
- python基础14 ---函数模块5(模块和包)
模块与包 一.模块 1.模块是怎么诞生的. 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到 不同的文 ...
- python基础11 ---函数模块1
函数模块 一.函数模块的作用(为什么要有函数模块) 1.函数模块可以减少代码量 2.函数模块方便阅读 3.函数模块维护性强二.函数模块的本质以及调用方法 1.函数模块的本质就是一个.py结尾的文件,该 ...
- Python(2):创建函数模块
说明: 在使用python的时候我们除了使用内置的函数之外,可能还需要使用一些别人写的函数.或者我们写的代码也希望可以给其他人使用.要实现这样的功能,我们就需要按照下面的步骤来定义自己的模块: Ste ...
- python基础12 ---函数模块2
函数模块 一.sys函数模块详解 1.sys.argv[x] 功能:从程序外部接受参数,接收的参数个数可以是多个,在程序内部sys.argv吧这些外部参数转换成元组的形式,然后以索引x的方式在内部取出 ...
- Head First Python之2函数模块
模块就是一个包含Python代码的文本文件,以.py结尾. 第三方模块都在PyPI(python package index)上,可使用PyPI发布你的模块,供他人使用. 注释代码 # coding= ...
- python基础13 ---函数模块3(正则表达式)
正则表达式 一.正则表达式的本质 1.正则表达式的本质(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的 ...
- python变量作用域,函数与传参
一.元组传值: 一般情况下函数传递参数是1对1,这里x,y是2个参数,按道理要传2个参数,如果直接传递元祖,其实是传递一个参数 >>> def show( x, y ): ... p ...
- python基础14 ---函数模块4(configparser模块)
configparser模块 一.configparser模块 1.什么是configparser模块:configparser模块操作配置文件,配置文件的格式与windows ini和linux的c ...
随机推荐
- arpg网页游戏之地图(四)
这一节主要是针对上一节的补充,关于地图的优化策略上一节中已经涉及了一些,这一节具体说下. 地图块加载队列:就拿1280*800的屏幕分辨率来讲,大约需要加载的地图块为30~35块之间,如果这个时候一下 ...
- ServiceLocator 简单示例(转)
Service Locator Pattern in C#: A Simple Example(转) Service Locator Pattern in C# with Lazy Initializ ...
- {Reship}{Matting}Image Matting
======================================== http://www.alphamatting.com/index.html ==================== ...
- JS出现illegal character非法字符提示
引用js文件,js文件内的汉字在页面显示乱码 解决方式: a. 保持js文件编码与jsp页面编码格式一致: b. 在引入js文件时,在script中添加charset=""属性,指 ...
- 《CSS3秘籍》(第三版)-读书笔记(3)
第9章 装饰网站导航 1. 选择要定义样式的链接 大部分浏览器都支持4种基本的链接状态:未访问的链接.已访问的链接.访问者的鼠标正悬停在上方的链接,以及正被单击的链接.CSS提供了与这些状态对应的4 ...
- sbt的assembly插件使用(打包所有依赖)
1.sbt是什么 对于sbt 我也是小白, 为了搞spark看了一下scala,学习scala时指定的构建工具就是sbt(因为sbt也是用scala开发的嘛),起初在我眼里就是一个maven(虽然ma ...
- Maven学习之 Settings
虽然天天在用,但是没有系统的学习过,总觉得别扭. 只能用于Java项目. 约定: repository 翻译成 仓库 build 翻译成 构建 build system 翻译成 构建系统 build ...
- Oracle 建表,递增序列,触发器,分析函数row_number() ,partition by 子句。
create table SC ( Id INTEGER, Name nvarchar2(20) , KC_Name nvarchar2(20), KC_score INTEGER , constra ...
- 20145225《Java程序设计》 第10周学习总结
20145225<Java程序设计> 第10周学习总结 教材学习内容总结 一.网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据: 程序员所作的事情就是把数据发送到指定 ...
- 【转】 全世界最短的IE判定
以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的. var ie = !+"\v1"; 仅仅需要7bytes!讲述外国人是如何把IE的判定从32 bytes一步步缩简成7 ...