Python学习笔记(一)--基础语法及模块

Python学习笔记-处理比对excel中的字符串
一、基础语法
1、列表
列表:一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

list1 = ['physics', 'chemistry', 1997, 2000]
list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
print list

2、元组
元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000)
# 创建一个新的元组
tup3 = tup1 + tup2
print tup3

3、字典
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key:value 对用冒号 ::分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 { } 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }
tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目
del tinydict          # 删除字典

两个重要的点需要记住:①:不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。②:键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行
1)keys() 函数以列表返回一个字典所有的键

dict.keys()

2)update() 函数把字典 dict2 的键/值对更新到 dict 里

dict.update(dict2)

dict2 – 添加到指定字典dict里的字典。
4、for…in…
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。另外一种执行循环的遍历方式是通过索引。

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print ('当前水果 : %s' % fruits[index])

5、正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能。

re.match(pattern, string, flags=0)

pattern:匹配的正则表达式
string:要匹配的字符串。
flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。参见:正则表达式修饰符 - 可选标志
可以使用 group(num) 或 groups() 匹配对象函数来获取匹配表达式。
1)group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
2)groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。
6、函数
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

二、使用的内置函数
1、open()
函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

open(name[, mode[, buffering]])

name :一个包含了你要访问的文件名称的字符串值。
mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
2、zip()
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip([iterable, ...])

iterable – 一个或多个迭代器;
3、range()
python2.x range() 函数可创建一个整数列表,一般用在 for 循环中。
注意:Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表,具体可查阅 Python3 range() 用法说明。

range(start, stop[, step])

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
4、len()
len() 方法返回对象(字符、列表、元组等)长度或项目个数。

len( s )

s – 对象
5、str()
str() 函数将对象转化为适于人阅读的形式

class str(object='')

object – 对象
6、map()
map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

map(function, iterable, ...)
>>> def square(x) :            # 计算平方数
...     return x ** 2
...
>>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

function – 函数
iterable – 一个或多个序列
7、join()
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

str.join(sequence)
symbol = "-";
seq = ("a", "b", "c"); # 字符串序列
print symbol.join( seq );
##输出:a-b-c

sequence – 要连接的元素序列
8、append()
append() 方法用于在列表末尾添加新的对象。

list.append(obj)

obj – 添加到列表末尾的对象
9、readlines()
readlines()方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for… in … 结构进行处理。如果碰到结束符 EOF 则返回空字符串。

三、import其他的模块(module)
1、re
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。
re.search 扫描整个字符串并返回第一个成功的匹配。
re.match与re.search的区别:
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
2、sys
sys 模块主要负责与 Python 解释器进行交互,该模块提供了一系列用于控制 Python 运行环境的函数和变量。

3、xlrd
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库

4、os
os模块提供的就是各种 Python 程序与操作系统进行交互的接口。

5、openpyxl
是个读写 Excel 2010 xlsx/xlsm/xltx/xltm 的 Python 库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点
1)from openpyxl.styles import Font
Font:来设置文字的大小,颜色和下划线等。PatternFill:填充图案和渐变色。Border:单元格的边框。Alignment:单元格的对齐方式等。
2)sheet.max_row可以获取最大行
3)wb.create_sheet(index=表单排位,title=‘表单名’) 添加或插入一张表单;wb.remove_sheet(wb.get_sheet_by_name(‘表单名’) 删除表单
4)① 要创建新的Excel文档,直接调用Workbook类;② 对于已有的Excel文档,可以使用openpyxl模块的load_workbook函数读取。
6、json
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。
json.dumps():对数据进行编码。
json.loads():对数据进行解码。
7、codecs
codecs专门用作编码转换

>>> import codecs
>>> fw = codecs.open('test1.txt','a','utf-8')
>>> fw.write(line2)
>>>

‘r’ :只读模式。如果文件不存在,返回异常FileNotFoundError,默认值;
‘w’:覆盖写模式,文件不存在则创建,存在则完全覆盖;
‘x’:创建写模式,文件不存在则创建,存在则返回异常FileExistError;
‘a’:追加写模式,文件不存在则创建,存在则在文件最后追加内容;
‘b’:二进制文件模式;
‘t’:文本文件模式,默认值;
‘+’ :与r/w/x/a一同使用,在原功能的基础上增加同事读写的功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值