pip功能
pip --version & pip -v
安装python包
Eg:Pip install shodan
卸载python包
Pip uninstall shodan
批量导出系统依赖
Pip freeze > requirements.txt
列出所有已经安装的包
Pip list
更新指定的包
Pip install --upgrade package_name
指定下载资源
Pip install -i https//pypi.tuan.tsinghua.edu.cn/simple some-package
基本数据类型
Python3中常见的数据类型
Number(数字):python3支持int、float、bool、complex(复数)在Python 3里,只有一种整数类型int,表示为长整型,没有 python2 中的 Long.像大多数语言一样,数值类型的赋值和计算都是很直观的。内置的 type()函数可以用来查询变量所指的对象类型。
>>>a,b,c,d=20,5.5,True,4+3j
>>> print(type(a),type(b),type(c),type(d))
<class "int'> <class 'float'> <class bool'> <class 'complex'>
String(字符串):制表符,换行符,切片
Python中的字符串用单引号"或双引号"括起来,同时使用反斜杠 **转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
#!/usr/bin/python3
#定义一个字符串变量str ='SFeather'
print(str)
print(str[0:-1])
print(str[g])
print(str[2:5])
print(str[2:])
print(str *2)
print(str + "TEST")
str[1]='******'
#打印整个字符串
#打印字符事第一个到倒数第二个字符(不包含倒数第一个字符)
#打印字符串的第一个字符
#打印字符串第三到第五个字符(包含第五个字符)
#打印字符串从第二个字符开始到未尾
#打印字符串两次
#打印字符串和"TEST"拼接在,起
# 修改指定的字符
print(str)
Bool(布尔类型)
List(列表)
Tuple(元组)
元组(tuple)
与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。
元组推导式
tuple=('name’, 'age', 'address')
x={x for x in tuple}
print(x)
Set(集合)
Dictionary(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过信移存取。
字典是一种映射类型,字典用{}标识,它是一个无序的键(key):值(value)的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
字典推导式
num=99
x={x: index*num for index,x in enumerate(['key1','key2','key3'])}
print(x)
条件控制(if,elif)
循环语句 While
Flag = 1
While(flag):print(‘欢迎跟着longyu学习’)
For
list1=[]
for i in range(1,11):
list1.append(i)
print(list)
函数
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表):
函数体
#!/usr/bin/python3
def hello() :
print("Hello World!")
hello()
迭代
迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()字符串,列表或元组对象都可用于创建选代器:
异常
异常捕捉可以使用 try/except 语句。
以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用Control-C或者操作系统提供的方法)。用户中断的信息会引发-个KeyboardInterrupt 异常。
while True:
try:
x= int(input("请输入一个数字:"))
break
except ValueError:
print("您输入的不是数字,请再次尝试输入!")
try语句按照如下方式工作;
首先,执行tny子句(在关键字tny和关键字except之间的语句)。
如果没有异常发生,忽略except子句,ty子句执行后结束。
如果在执行ty 子句的过程中发生了异常,那么 ty 子句余下的部分将被忽略。如果异常的类型和 except之后的名称相符,那么对应的except子旬将被执行。
如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的ty中。
-个tny语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的ty子句中的异常进行处理,而不是其他的ty的处理程序中的异常。
-个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组
名片管理
cards = [{'name' : 'mjw', 'phone' : '123', 'qq': '614911171', 'emali': "614911dasd"
}]
def menu():
print('*'*40)
print('''欢迎使用名片管理系统
1.新建名片
2.显示全部
3.查询名片
0.退出系统
''')
print('*' * 40)
def new_card(name, phone, qq, email):
user = {
'name': name,
'phone': phone,
'qq': qq,
'email': email
}
cards.append(user)
print('成新建名片')
def show_card():
for card in cards:
print(card)
def modify_card():
pass
def del_card():
pass
def query_card(kw):
for card in cards:
for k, v in card.items():
if kw == v:
return card
return False
def quit():
print('欢迎下次使用名片管理系统')
menu()
while True:
op = input('请输入你要操作的序号: ')
if op == '1':
name = input('请输入你的姓名:')
phone = input('请输入你的电话:')
qq = input('请输入你的qq:')
email = input('请输入你的电子邮箱:')
result = new_card(name, phone, qq, email)
if result:
print('成功新建名片')
else:
print('请重试')
elif op == '2':
show_card()
elif op == '3':
kw = input('请输入查询关键字:')
result = query_card(kw)
if result:
print(result)
op2 = input('输入4进行修改,输入5进行删除')
if op2 == '4':
modify_card
else:
print('meiyouxianguanxinxi')
elif op == '0':
quit()
break
else:
print('请重试')