PIP的常用操作:参考https://zhuanlan.zhihu.com/p/639619009
1.下载包到指定文件夹:
pip install package_name --target=文件路径
2.如果是需要自己另外安装pip包的,在已经配置好Python的环境当中运行下面这个命令行:
py -m ensurepip --upgrade
另外一种方式是从官网上(https://bootstrap.pypa.io/get-pip.py)直接下载get-pip.py脚本,然后直接运行python get-pip.py脚本即可。
3.升级:
pip install --upgrade pip 或者 pip install -U pip
4.安装某个包:
pip install 包名
安装指定版本
pip install 包名==3.4.1
?5.卸载包:
pip uninstall package_name
?6.查看指定包的信息,
pip show -f requests
?7.查看哪些包需要升级:
pip list -o
运行Python有三种方法:
?8.查看包的兼容性问题:
查看所有已安装的包的兼容性
pip check
查看指定包的兼容性
pip check package_name
9.指定国内来源安装:
pip install -i https://pypi.douban.com/simple/ 包名
其他来源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
?
?
?
?
解释器、交互式ipython、集成开发环境(如vscode,pycharm,sublime)
python官网:Welcome to Python.org
pycharm下载地址:Download PyCharm: Python IDE for Professional Developers by JetBrains
pycharm下载和配置:https://tech.souyunku.com/?p=16235
无限使用步骤:IDEA-》preferencers-》plugins-》点击上面的设置小齿轮,点击加号,添加https://plugins.zhile.io,出现IDE Eval reset,install安装。
?
?
查看版本:python -V 或者python3 -V
在命令行输入python就进入了python的解释器环境,里面输入代码就会执行。
退出python的解释器环境:exit()或者quit()
注释:单行注释#,多行注释用''' ?'''后者""" ?"""
查看变量的类型:type(a)
isinstance 和 type 的区别在于:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
id(a)可以查看一个对象的内存地址。
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠?\?来实现多行语句;在 [], {}, 或 () 中的多行语句,不需要使用反斜杠?\。
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。Python 可以在同一行中使用多条语句,语句之间使用分号?;?分割。
等待用户输入?input("\n\n按下 enter 键后退出。")
在 python 用?import?或者?from...import?来导入相应的模块。
将整个模块(somemodule)导入,格式为:?import somemodule
从某个模块中导入某个函数,格式为:?from somemodule import somefunction
从某个模块中导入多个函数,格式为:?from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为:?from somemodule import *
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
Python3中 Number(数字)支持 int、float、bool、complex(复数)。
注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。
计算:
数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
一个变量可以通过赋值指向不同类型的对象。
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串
Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
Python中的循环可以有else语句;
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完的情况下执行。
如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
格式化输出:
方式一:
course_name='计算机课程'
print("the %s is %s" %('runoob',course_name))
注意:%('runoob',course_name)这两个是和前面的%s一一对应
方式二:
print("姓名:{}年龄{}".format(course_name,20))
方法三:打印对象
print('查询结果',result对象)
?函数:
def 函数名(参数列表):
函数体
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
def printme( str ):
"打印任何传入的字符串"
print (str)
return
#调用printme函数
printme( str = "菜鸟教程")
默认参数:调用函数时,如果没有传递参数,则会使用默认参数
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print ("名字: ", name)
#调用printinfo函数
printinfo( age=50, name="runoob" )
print ("------------------------")
printinfo( name="runoob" )
加了星号?*?的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print ("输出: ")
print (arg1) //输出70
print (vartuple) //输出60,50
# 调用printinfo 函数
printinfo( 10 )//第二个参数不设置,就一个空元祖
printinfo( 70, 60, 50 )
加了两个星号?**?的参数会以字典的形式导入。
def printinfo( arg1, **vardict ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vardict)
# 调用printinfo 函数
printinfo(1, a=2,b=3)
声明函数时,参数中星号?*?可以单独出现;如果单独出现星号?*?后的参数必须用关键字传入。
def f(a,b,*,c):
return a+b+c
调用:f(1,2,c=3)
匿名函数:Python 使用?lambda?来创建匿名函数。不再使用?def?语句这样标准的形式定义一个函数。lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。lambda冒号后面的表达式就是要返回的结果。
lambda 参数一,参数二:表达式
流程控制:
条件选择:if elif ? else
循环:while: else ? ? 或者for ? ? ? else?
字符串的相关操作:
a='人生 无常'
a.strip() //去除空格
lstrip()//删除左边的空格
b='sdfg'
b.capitalize()//首字母变大写
c=??'a d f ggg'
c.find('d')//查找d在c对象中的索引位置,找不到返回-1
c.index('d')//检查字符串中是否包含子字符串,找不到就报错。
c.startswith('a')//是否以a为开始
c.endswidth('g')//是否以g结尾。
c.upper()//转换成大写
c.lower()//转换成小写
c.slice[开始:结束]//截取字符串,不包含结束的位置
c.slice[开始:结束:步长]
c.slice[::-1]//从右往左
list列表:
st=’dsddd‘
len(st)长度
testlist=["d","f"]
testlist.append(['g'])
testlist.insert(1,'df')//在1 的位置插入
s=list(range(10))//把range序列轻质转换成list对象
testlist.extend(s)//添加列表
del testlist[0]删除某个元素
del testlist[1:4]//删除多个数据
testlist.remove('1')//移除指定元素
testlist.pop(n)//移除第n个元素
testlist.index('f')//查找元素的位置
testlist.index('f',查找的开始位置,查找的结束位置)
元组:是一种不可变的序列,元组中的元素可以是不同类型,一单创建就不能修改了,但是可以对元组中的列表可以修改。
注意:当元组中只有一个元素的时候,必须要在数据后加一个逗号,否则就不是元组。
tupleC=(1,2,3,4,5,5)
tupleC.count(1)//有几个1
字典:
st={"a":"aa","b":"bb"}
sorted(st.items(),key=lambda d:d[0])//按照键排序,如果d[1]的话就是按照值排序
del st['a']//删除键为a的项
st.pop('a')//删除键为a的项
公共的方法:
stra='理想在前'
strb= '目标至上'
stra+strb//合并
stra*2//复制两次
'理' in stra //’理‘是否在stra中,结果是bool类型的
dicta={"name":"dddd"}
"name" in dicta //判断字典有没有name这个键。
在函数内部修改全局变量,要使用gloabal 全局变量,然后再修改。
函数参数传递的是对象,