本文章基于我掌握一定的python基础,所以笔记不会详细,且杂乱无章 。
1. 从控制台读取输入
利用input函数输入:
num0=input("please enter a number:")
print(num0) #num0是一个字符串
num1=eval(input("please enter a number:"))
num1=int(input("please enter a number:"))
print(num1) #num1是一个数值
还可以这样用:eval("3+7"), 返回10
注意:在某些情况下 ,python的解释器不能确定在多行中哪里是语句的结尾。所以在一行的结尾处放置 “\” 继续到下一行
2. 同时赋值
简化赋值语句
x=y=z=1
x,y,z=1,2,3
3. 列表像是数组
了解列表的常用方法:
book=['English','Chinese','Math','History']
len(book)
book.append('Politics') #在末尾增加一个数据
book.pop() #默认在末尾删除一个数据,并返回删掉的那个数据
book.pop(0) #返回列表删除的最前面的数据,即pop可以删除一个指定位置的数据
book.extend(['Politics','Physics']) #在末尾增加一个列表
book.insert(2,'PE') #在指定的位置前插入一个数据
book.remove('Chinese') #删除一个指定内容的数据
列表中嵌套列表是可以的。
books=['politics','physics',['Chinese','English','Math']]
打印下来:
for each_book in books:
if isinstance(each_book,list): #判断each_book是否是列表
for every in each_book:
print(every)
else:
print(each_book)
如果有多层嵌套,代码繁复,可以把重复代码封装为函数调用。
元祖:tuple ,与list非常相似,但是一旦初始化后就不能修改。
4. 文件
python的基本输入机制是基于行的
使用Python 内置函数open(),传入文件和标识符,举例:
f=open('/User/mypython/note.txt','r'),'r'表示读。
文件打开成功后,调用read(),f.read()可一次读取全部内容
最后一步是调用close()方法,f.close()
由于文件读写时都有可能产生IOError,出错后close()就不会调用,所以要用**with语句**,with会自动关闭文件。
with open('/path/to/file','r')as f:
print(f.read())
#如果不确定文件大小,反复调用read(size)比较保险
#默认读取UTF-8文本文件,若读取二进制文件,比如图片,视频等,用 'rb'模式打开
#若读取非UTF-8文本文件,需要给open()函数传入encoding参数,例如读取GBK文件:
f=open('/User/mic/gbk.txt','r',encoding='gbk')
#若遇到编码不规范的文件,直接忽略:
f=open('/User/mic/gbk.txt','r',encoding='gbk',errors='ignore')
写文件和读文件一样,唯一是标识符换为 ‘w’ ,’wb’,例如:
man=['Woman','People','Human']
man_file=open('F:/test/enen.txt','w')
print(man,file=man_file) #把man的内容写入文件man_file中
5. 理解数据
file=open('F:/test.txt')
data=file.readline()
listing=data.strip().split(',') #将数据转换为一个列表
1.strip() :除去字符串中所有不想要的空白符
2.split(',') :以','分隔数据,创建一个列表
排序:data.sort() :原地排序,转换后替换
sorted(data) :复制排序,转换然后返回
注意:列表有重复值怎么删除然后再排序?
答:用集合删除重复项。set()会将列表变为集合,并删除重复项。
6. 定制数据对象
字典是一个内置的数据结构,允许将数据与键关联。
创建字典
books={}
books['name']='wll'
books['obiects']=['math','chinese','english']
>>>books
{'name':'wll','objects':['math','chinese','english']}
7. 正则表达式
正则表达式主要用于匹配字符串,用一种描述性语言给字符串定一个规则。
\d 匹配一个数字; \w 匹配一个字母或数字; . 匹配任意字符; s 匹配空格
*表示任意个字符; + 表示至少一个字符; ? 表示0个或1个字符; {n} 表示n个字符; {n-m}表示n-m个字符
^\d 表示必须以数字开头; \d$ 表示必须以数字结束
re模块
注意:最好使用python的 r 前缀,就不用考虑转义问题。
match方法判断是否匹配 :
import re
re.match(r'^\d{3}\-\d{3,8}$','010-12345')