python推导式
python推导式python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。
python支持各种数据结构的推导式:
列表推导式
字典推导式
集合推导式
元组推导式
列表推导式过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母
1234>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']>>> new_names = [name.upper()for name in names if len(name)>3]>>> print(new_names)['ALICE', 'JERRY', 'WENDY', 'SMITH']
计算 30 以内可以被 3 整除的整数
123>>> multiples = [i ...
python导入本地库文件
python导入本地库文件问题背景在导入一个开源的gitbub项目的师傅,报错发现没有对应的目录,于是去网上找到对应的解决办法,现在做个总结
python包路径搜索机制在解决问题前,我们先来了解一下问题的原因,可以用
来查询当前已安装的包
1pip list package_name
在python解释器里使用sys.path
12import sysprint(sys.path)
sys.path其实就是你的python解释器真正搜索包路径的顺序
python的sys.path解释
sys.path 的第一个路径是脚本的执行目录,如果启动的是交互式python解释器(也就是直接在命令行启动python;或者脚本是从标准输入获取的,则这第一个路径是一个空字符串’’)
第三方库
1/usr/lib/python3/site-packages:/home/user/.local/lib/python3/site-packages
PYTHONPATH环境变量
大部分老手都知道将自己的一些模块路径打入系统环境变量中,让python解释器能够找到
1export PYTHONP ...
python3集合
python3集合集合是一个无序的不重复元素序列。
可以使用大括号{}或者set()函数创建集合,注意:创建一个空的集合必须使用set函数而不是{},因为{}是创建一个空字典。
集合的基本操作添加元素add()函数可以将元素添加到集合中,如果元素已存在,则不进行任何操作
1234>>> thisset = set(("Google", "Runoob", "Taobao"))>>> thisset.add("Facebook")>>> print(thisset){'Taobao', 'Facebook', 'Google', 'Runoob'}
还有一个方法update(),也可以添加元素,且参数可以是列表,元组,字典等。
12345678>>> thisset = set(("Google", "Run ...
Python3错误和异常
Python3错误和异常异常处理try/except异常捕捉可以使用try/except语句
try 语句按照如下方式工作;
首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
如果没有异常发生,忽略 except 子句,try 子句执行后结束。
如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。
如果一个异常没有与任何的 except 匹配,那么这个异常将会传递给上层的 try 中。
一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。
一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:
12except (RuntimeError, TypeError, NameError): pass
最后一个except子句可以忽 ...
python3运算符
python3运算符python语言支持以下类型的运算符:
算术运算符
比较运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
算术运算符和比较运算符,赋值运算符,位运算符基本上和C语言都是一样的,这里就不载赘述了。
Python逻辑运算符
运算符
逻辑表达式
描述
实例
and
x and y
布尔“与”,如果x为False,x and y 返回x的值,否则返回y的值。
a and b
or
x or y
布尔“或”,如果x为true,它返回x的值,否则它返回y的值。
a or b
not
not x
布尔“非”,如果x为True,返回False。如果Flase,它返回True
not a
Python成员运算符除了以上的一些运算符,python还支持成员运算符。
运算符
描述
实例
in
如果在指定的序列中找到值返回True,否则返回False。
x在y的序列中,返回true。
not in
如果在指定的序列中没有找到值返回True,否则返回Fasle。
x不在y的序列中,返回true。
Python身份运算符身份运算 ...
python3输入和输出
python3输入和输出输出格式美化python两种输出值的方式:表达式语句和print()函数。
第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。
如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
str(): 函数返回一个用户易读的表达形式。
repr(): 产生一个解释器易读的表达形式
例如1234567891011121314151617181920>>> s = 'Hello, Runoob'>>> str(s)'Hello, Runoob'>>> repr(s)"'Hello, Runoob'">>> str(1/7)'0.14285714285714285'>>> x = 10 * 3.25>>&g ...
python3模块
python3模块import 语句导入模块的语句有三种
123import module1[, module2[,... moduleN]from modname import name1[, name2[, ... nameN]]from modname import name1[, name2[, ... nameN]]
import module1[, module2[,… moduleN]当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。
搜索路径是一个解释器会先进行搜索的所有目录的列表。
当我们使用 import 语句的时候,Python 解释器是怎样找到对应的文件的呢?
这就涉及到 Python 的搜索路径,搜索路径是由一系列目录名组成的,Python 解释器就依次从这些目录中去寻找所引入的模块。
这看起来很像环境变量,事实上,也可以通过定义环境变量的方式来确定搜索路径。
搜索路径是在 Python 编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在 sys 模块中的 path 变量
from modname import name1[, ...
Python3数据结构
Python3数据结构列表Python中列表是可变的,这是它区别于字符串核元组的最重要的特点,一句话概括:列表可以修改,而字符串核元组不能。
把列表当做堆栈使用列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用append()方法看把一个元素添加到堆栈顶。用不指定索引的pop方法可以把一个元素从堆栈顶释放出来。
把列表当做队列使用也可以把列表当做队列用,只是队列里第一加入的元素,第一个取出来;但拿列表用做这样的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度去不快(因为所有其他元素都得一个一个地移动)。
列表推导式列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每一个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。
每个列表推导式都在 for 之后跟一个表达式,然后有零到多个 for 或 if 子句。返回结果是一个根据表达从其后的 for 和 if 上下文环境中生成出来的列表。如果希望表达式推导出一个元组,就必须使用括号。
del ...
python3字符串
python3字符串字符串是python中最常用的数据类型,我们可以使用引号(‘或“)来创建字符串。
python字符串格式化Python支持格式化字符串输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符%s的字符串中。
在Python中,字符串格式化使用与C中的sprintf函数一样的语法
1print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
python的格式化字符与C语言的格式化字符没有多大差距
格式化操作符辅助指令
符号
功能
*
定义宽度或者小数点精度
-
用做左对齐
+
在正数前面显示加号(+)
在正数前面显示空格
#
在八进制前面显示零(“0”),在十六进制前面显示’0x‘或者”0X”
0
显示的数字前面填充‘0’而不是默认的空格
%
“
(var)
映射变量(字典参数)
m.n.
m是显示的最小总宽度,n是小数点后的位数(如果可用的话)
python三引号python三引号允许一个字符串跨多行,字符串中可以包含换行符 ...
Python3字典
Python3字典字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值key =>value对用冒号:分割,每个对之间用逗号(,)分割,整个字典包括在花括号中。
修改字典向字典添加新内容的方法是增加新的键/值对,修改或删除已有键值对如下实例:
12345678tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} tinydict['Age'] = 8 # 更新 Agetinydict['School'] = "菜鸟教程" # 添加信息 print ("tinydict['Age']: ", tinydict['Age'])print ("tinydict['School']: ", ...



