python second lesson
2018-07-22 17:58 小于漫谈 阅读(386) 评论(0) 编辑 收藏 举报1、系统模块
- 新建的文件名不能和导入的库名相同,要不然python会优先从自己的目录下寻找。
- import sys sys是一个系统变量,sys.argv会调出文件的相对路径,sys.argv[2] 后边的调出第二个参数
- import os :os模块可以调用windows,linux内核中的命令行,os.system("dir")是直接输出到屏幕上,不能赋值给变量;如果想要赋值给变量进行存储,需要用cmd_res = os.open("dir").read()。os创建文件,其实就是调用系统命令行:os.mkdir("new_dir")
- 加码解码:msg.encode(enconding="utf-8").decode(encoding="utf-8")
- 如果是自己编写的第三方模块,需要把编写好的.py文件导入到第三方库中才能在不同的文件夹中使用,如果所有的.py文件是在一个文件下,就可以直接调用
2、数据类型
- 数字:Int(整形) long(长整形)>>2**65:python3中自动转long float(浮点型):分数和小数
- 布尔值: 真 1 假 0
- 字符串
3、数据运算
- 2 + 2 3 -1 4 *4 16/8:返回float 16% 8:返回int 5 ** 2 :幂 30 + _ : _都代表上次运算中的结果
4、字符串运算
- print("I\'m Programmer") I'm Programmer 使用\这个符号可以对引号进行转义,但是python3中'可以不用\来转义 \n 代表下一行next
- print('c:\name')
c:
ame
- print(r'c:\name') 在前面直接加r代表不转义
-
print('''
List of Number:
one
two
''') 打印多行,要用 ''' ''' -
a = 3 * "hi" + ",tom"
print(a)
5、列表通过赋值只能被浅copy的,内层嵌套的列表无法被拷贝
- a = [1,2,3] b = a
- 深度 copy import copy name = {‘lisi’,['jack','jiajia'}
names2 = copy.deepcopy(names)
6、列表的操作
- print(names[0:-1:2]) 设置步长,2个代表隔一个打印出来
-
names.append("jock") 直接追加到列表的最后边
- names.insert(1,"test") 插入的过程中,其实是直接插入到第2个数字位置
- names.remove("jock") 直接删除
- del name[0] 也是直接删除
- names.pop() 从后往前删除
- names.pop(1) 加上数字就是从先往后数,删除第二个数
- names.index("jock") index表示是查找的意思,这个会返回Jock在列表的位置
- names[names.index("jock")] 这样子就有会出现 Jock
- names.count("jock") 统计列表中jock出现了多少次
- names.sort 排列优先级是 先数字,后大写,最后小写
- names.clear() 清空列表
- names[-2:] 取出后两个,切片 names[1:3] 取出第1和2的数据 names[:3] 取出前0-2的3个数据
- names.extend(names2) 两个列表进行合并
7、字典
- dic = {key:value}
- 字典操作简单,可以直接对其中的元素进行修改:
catalog = {"郑州":{
“黄河”: ["嘉应观","渠首"]
}
}
- catalog["郑州"]["黄河"][1] = "黄河大桥" 直接对字典中的元素进行修改,如果没有直接重新添加
- catalog.setdefault{"台湾",{"金门":[1,2]}} 在字典中追加
- catalog.update(b) 将b字典合并到catalog字典中
- catalog.get("郑州") 会返回整个KEY下的数据,如果想要获取下边,需要再次调用get方法
- del catalog["郑州"] 删除字典中的KEY
- catalog.pop("郑州") 精准删除字典中的KEY
- for item in catalog: print(item,catalog[item]) 读出KEY和VALUE