博客
关于我
Python变量/运算符/函数/模块/string
阅读量:797 次
发布时间:2023-03-07

本文共 3147 字,大约阅读时间需要 10 分钟。

Python笔记(一)

1. 变量类型

Python有五种内置的简单类型:boolintlongfloatcomplex。这些类型是不可变的,创建后类型不可更改。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函数定义简便,无需返回类型声明。多返回值支持。

示例:

def func(arg1, arg2):
print('this is a func')

多返回值:

def func_multi_return():
return ('item1', 'item2')

4. 模块

一个.py文件代表一个模块。使用import访问模块成员。

示例:

import csv
file = open('file_name')
reader = csv.reader(file)

从模块导入:

from csv import reader
file = open('file_name')
reader = reader(file)

5. 常用函数

  • int(obj, base=10):转换为整数,默认10进制。
  • long(obj, base=10):转换为长整数,默认10进制。
  • float(obj):转换为浮点数。
  • complex(str):转换为复数。
  • bool(obj):将整数1/0转为布尔值True/False。
  • abs(num):返回数的绝对值。
  • coerce(num1, num2):返回转换后的元组。
  • divmod(num1, num2):返回除法及余数元组。
  • pow(x, y, z):计算 (x**y) % z
  • split(','):分割字符串。
  • sort():排序。
  • isalnum():是否全字母数字且非空。
  • isalpha():是否全字母且非空。
  • isdigit():是否全数字且非空。
  • islower():是否全小写字母。
  • isupper():是否全大写字母。
  • isspace():是否全空白字符。
  • istitle():是否首字母大写。
  • startswith(prefix[, start[, end]]):是否以前缀开头。
  • endswith(suffix[, start[, end]]):是否以后缀结尾。
  • encode([encoding, errors]):编码。
  • decode([encoding, errors]):解码。

6. 字符串操作

  • len(): 获取字符串长度。
  • .replace('X', 'Y'): 替换字符。
  • .strip('X'): 删除所有字符X。
  • string[i]: 获取第i个字符。
  • string.find('X', x): 从x位置查找X,返回首地址或-1。
  • string[1:3]: 切片,返回1到2字符。
  • 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)
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):
str1, str2 = str2, str1
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):
with open('result.csv', 'w', newline='', dialect='excel') as writer:
for item in result:
writer.writerow(item)
if __name__ == "__main__":
storeList1 = []
storeList2 = []
loadFile('brand.csv', storeList1)
loadFile('other.csv', storeList2)
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)
saveFile(result)
print(timeit.default_timer())

转载地址:http://hqofk.baihongyu.com/

你可能感兴趣的文章
python+flask计算机毕业设计高校数字化迎新系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校内景点平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校园线上跳蚤市场的系统设计(程序+开题+论文)
查看>>
Python图形处理
查看>>
python+flask计算机毕业设计高校物品使用互益平台的设计与实现(程序+开题+论文)
查看>>
Python函数,匿名函数,高阶函数,内置函数——08
查看>>
python+flask计算机毕业设计高校疫情防控管理平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校网上迎新系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校运动会(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校选课系统(程序+开题+论文)
查看>>
Python+Jenkins+Allure Report接口自动化测试持续集成
查看>>