Python基础知识
一:基础知识
1:基本数据类型
列表:鱼C论坛说“列表:一个“打了激素”的数组”形容十分贴切 以中括号[1,2,'大王',1.2]表示
方法:添加一个 list.append(‘内容’) 扩展列表 list.extend(['内容1','内容2']) (也可以+但不建议使用) 插入 list.insert(1,'内容') 获取元素 与数组一样 list[2]
删除 list.remove('内容') del list[位置] 弹出:list.pop(索引) 列表分片:list[1:9:2]获得一个新的列表,为原列表重第一个到第九个每2个取一个值 反转 list.reverse()
排序:sort()从小到大 默认归并排序
元组:以小括号表示() 无法修改内容的列表 其他操作与列表一致 更新元组(在原元组的基础上新建一个元组,原元组被回收)tuple[:2]+('内容1',)+tuple[2:]
函数:
1 #定义一个函数 2 def add(num1,num2): 3 """这里可以写函数的说明文档""" 4 return num1+num2 5 #Python支持默认参数值 6 def add1(num1 = 2 ,num2 = 5): 7 """这里可以写函数的说明文档""" 8 return num1+num2 9 #Python 同样支持可变参数 10 def countnum(*num): 11 print("有%d个参数" % len(num)) 12 print(“第二个参数是:”,num[1])
字典:映射类型,以大括号{'语文':'A','数学':'A','英语':'B'} 项(item()),键(key()),值(valune())
创建字典:x=dict(语文='A',数学='A',英语='B')(dict为关键字)
方法:x.clean(); x.copy();返回字典 x.get("语文");返回value x.pop(); x.keys();返回含所有key的列表 x.values();返回含所有value的列表
集合: 以大括号set1={"1号","2号","3号","4号"},集合中每一个元素不重复,
set2=set(["1号","2号","3号","4号"])
set1==set2
输出:true
方法:add();remove();
变量:Python与大多数其他计算机语言的做法稍有不同,它并不是把值存储在变量中,而更像是把名字贴在值上边,所以大多数python程序员会说“Python没有变量,只有名字”
字符串: 保持原始字符串 方案一:加r :string= r ‘C:\now’ 方案二:三重引号
操作符优先级:**(幂)//(语言除法)*(乘) /(数学真实除法) %(取余) +(加) - (减) <(小于) >()大于 and(与) not(非) or(或) 例: 3<4<5与3<4 and 4<5
输出:print 输入:input ("请输入合法字符:"); raw_input("什么东西都能接受");
分支与循环:(插代码)
文件:打开文件:open(file,mode='r',buffering=-1;encoding=Node;errors=None,newline=None,closefd=True,opener=None) 返回一个文件对象
'a'写入模式打开文件,文件存在·,则在末尾追加写入
方法:read(); readline(); write(str); writelines(seq); seek(offset ,from); tell();返回当前在文件中的位置
关闭文件:close();
4:文件操作
(1)打开文件: 文件句柄 = file('文件路径', '模式')
python中打开文件有两种方式,即:open(...) 和 file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open。
1、打开文件的模式:
r, 只读模式【默认】
w,只写模式【不可读;不存在则创建;存在则删除内容;】
a, 追加模式【不可读;不存在则创建;存在则只追加内容;】
2、"+" 同时读写某个文件:
r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,追加读
5:函数
①格式
1 def 函数名(参数): 2 .... 3 函数体 4 .... 5 return 返回值 6 函数名()
②形参: def func(name): // name 叫做函数func的形式参数,简称:形参
③实参: func("solo") // 'solo' 叫做函数func的实际参数,简称:实参
④默认参数: def stu_register(name,age,course,country="CN") // 位置参数
⑤关键参数: stu_register(age=22,name='lzl',course="python") // 关键参数必须放在位置参数之后
二:常见模块
Python中类库有三种
① 、Python内部提供的模块
②、业内开源的模块
③、程序员自己开发的模块:Python脚本的名字不要与模块名相同
(1)time和datatime模块
时间相关的操作,时间有三种表示方式:1、时间戳 1970年1月1日之后的秒,即:time.time()
2、格式化的字符串 2014-11-11 11:11, 即:time.strftime('%Y-%m-%d')
3、结构化时间 元组包含了:年、日、星期等... time.struct_time 即:time.localtime()
(3)os模块:用于提供系统级别的操作(比如目录、路径等的操作)
1 import os 2 os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径 3 os.chdir("dirname") #改变当前脚本工作目录;相当于shell下cd 4 os.curdir #返回当前目录: ('.') 5 os.pardir #获取当前目录的父目录字符串名:('..') 6 os.makedirs('dirname1/dirname2') #可生成多层递归目录 7 os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 8 os.mkdir('dirname') # 生成单级目录;相当于shell中mkdir dirname 9 os.rmdir('dirname') #删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname 10 os.listdir('dirname') #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 11 os.remove() # 删除一个文件 12 os.rename("oldname","newname") # 重命名文件/目录 13 os.stat('path/filename') # 获取文件/目录信息 14 os.sep #输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" 15 os.linesep #输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" 16 os.pathsep #输出用于分割文件路径的字符串 17 os.name #输出字符串指示当前使用平台。win->'nt'; Linux->'posix' 18 os.system("bash command") #运行shell命令,直接显示 19 os.environ #获取系统环境变量 20 os.path.abspath(path) #返回path规范化的绝对路径 21 os.path.split(path) #将path分割成目录和文件名二元组返回 22 os.path.dirname(path) # 返回path的目录。其实就是os.path.split(path)的第一个元素 23 os.path.basename(path) # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 24 os.path.exists(path) #如果path存在,返回True;如果path不存在,返回False 25 os.path.isabs(path) #如果path是绝对路径,返回True 26 os.path.isfile(path) #如果path是一个存在的文件,返回True。否则返回False 27 os.path.isdir(path) #如果path是一个存在的目录,则返回True。否则返回False 28 os.path.join(path1[, path2[, ...]]) # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 29 os.path.getatime(path) #返回path所指向的文件或者目录的最后存取时间 30 os.path.getmtime(path) #返回path所指向的文件或者目录的最后修改时间
(4)sys模块:用于提供对解释器相关的操作(比如退出程序、版本信息等)
pickle模块:
1 import pickle 2 3 my_list = [123,3.14,'2号',['another list']] 4 #文件后缀为.pkl或者.pickle 5 pickle_file = open('E:\\my_list.pkl','wb') 6 #使用dump保存列表, 7 pickle.dump(my_list,pickle_file) 8 pickle_file.close() 9 10 11 pickle_filetwo = open(“E:\\my_list.pkl”,"rb") 12 #用load方法进行加载 13 my_listtwo = pickle.load(pickle_filetwo) 14 print(mylisttwo)
三:面向对象
类与对象:对象=属性+方法,类是对象的抽象,例如:“人”是一个类,“阿苍老师”就是一个对象,“拍电影”是他的一个方法,“大长腿”是他的一个属性