Python变量/运算符/函数/模块/string

简介:

1.变量类型

  Python 有五个内置的简单类型:boolintlongfloat 和 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

知识共享许可协议
本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012


相关文章
|
9天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
25 5
|
19天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
22天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
30 4
|
23天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
68 5
|
26天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
19 7
|
26天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
18 6
|
23天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
23天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
18 1
|
24天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
24天前
|
XML 前端开发 数据格式
超级详细的python中bs4模块详解
Beautiful Soup 是一个用于从网页中抓取数据的 Python 库,提供了简单易用的函数来处理导航、搜索和修改分析树。支持多种解析器,如 Python 标准库中的 HTML 解析器和更强大的 lxml 解析器。通过简单的代码即可实现复杂的数据抓取任务。本文介绍了 Beautiful Soup 的安装、基本使用、对象类型、文档树遍历和搜索方法,以及 CSS 选择器的使用。
55 1

热门文章

最新文章

下一篇
无影云桌面