相关配置
1 | from IPython.core.interactiveshell import InteractiveShell |
Python “=”赋值、浅拷贝 copy()和深度拷贝 deepcopy()区别
在帖子中,还未整理https://blog.csdn.net/u011630575/article/details/78604226
Python3 range() 函数用法
range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
Python3 list() 函数是对象迭代器,可以把 range()返回的可迭代对象转为一个列表,返回的变量类型为列表。Python2 range() 函数返回的是列表。
函数语法
range(stop)
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如 range(5)等价于 range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有 5
step:步长,默认为 1。例如:range(0, 5) 等价于 range(0, 5, 1)
1 | list(range(5)) |
1 | [0, 1, 2, 3, 4] |
Python3 zip() 函数
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
zip 语法:zip([iterable, …])
参数说明:
iterabl – 一个或多个迭代器;
返回值:返回一个对象。
1 | import numpy as np |
1 | <zip at 0x271224dfd80> |
Python strip()方法
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
strip()语法:str.strip([chars]);
1 | str = "00000003210Runoob01230000000" |
1 | 3210Runoob0123 |
Python3 split()方法
split() 语法:str.split(str=””, num=string.count(str))
split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。
参数:1. str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。2. num – 分割次数。默认为 -1, 即分隔所有。
返回值: 返回分割后的字符串列表。
1 | str = "this is string example....wow!!!" |
1 | ['this', 'is', 'string', 'example....wow!!!'] |
jupyter 中运行.py 文件
%load test.py #载入 test.py 中的代码,相当于导包。再点击 Run 运行,这种方法的好处是可以方便修改代码。
%run test.py #直接运行得出结果。
说明:
Jupyter Notebook 中以%开头的代码为魔法函数
其中:
%run 调用外部 python 脚本
%load 加载本地文件
Python 中 is 的用法
is 函数比==要快一些,不用运行查找和比较函数,所以判断变量或对象是否为 None 用 is 最好
1 | val=1 |
1 | True |
Python3 错误和异常(Raise 和 Assert)
1、Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
2、抛出异常 Raise:raise 语法格式 raise [Exception [, args [, traceback]]]
3、异常处理 try/except:首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
如果没有异常发生,忽略 except 子句,try 子句执行后结束。
如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。
如果一个异常没有与任何的 except 匹配,那么这个异常将会传递给上层的 try 中。
注:一个 try 语句可能包含多个 except 子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。
一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,
python 函数参数中*的用法
1、出现在函数参数中第一种含义可以表示为可变参数,一般写作_args;
2、对于单独出现在参数中的参数,则表示,_后面的参数必须为关键字参数的形式,接下来详细说下该用法:
如果你希望强迫调用者使用某些参数,且必须以关键字参数的形式传参,那么你只需要在所需位置的前一个位置放置一个*。
def f1(a, *, b, c):
return a + b + c
对于上面这个函数而言,调用时参数 a 可以任意值, 但 b,c 参数一定要以关键字参数的形式传参,如 f1(1, b=4, c=5),否则将会报错。
argparse 模块用法——命令行参数
action 参数
用 argparse 模块让 python 脚本接收参数时,对于 True/False 类型的参数,可以向 add_argument 方法中加入参数 action=‘store_true’/‘store_false’。
顾名思义,store_true 就代表着一旦有这个参数,做出动作“将其值标为 True”,也就是没有时,默认状态下其值为 False。反之亦然,store_false 也就是默认为 True,一旦命令中有此参数,其值则变为 False。
1 | import argparse |
1 | Namespace(bar=False, baz=True, foo=True) |
shutil 模块
shutil.rmtree()
递归地删除文件,如果存在以下树结构
- user
- tester
- noob
- developer
- guru
1 | import shutil |
shutili 模块其他函数
- shutil.copyfile( src, dst) #从源 src 复制到 dst 中去。 如果当前的 dst 已存在的话就会被覆盖掉
- shutil.move( src, dst) #移动文件或重命名
- shutil.copymode( src, dst) #只是会复制其权限其他的东西是不会被复制的
- shutil.copystat( src, dst) #复制权限、最后访问时间、最后修改时间
- shutil.copy( src, dst) #复制一个文件到一个文件或一个目录
- shutil.copy2( src, dst) #在 copy 上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于 cp –p 的东西
- shutil.copy2( src, dst) #如果两个位置的文件系统是一样的话相当于是 rename 操作,只是改名;如果是不在相同的文件系统的话就是做 move 操作
- shutil.copytree( olddir, newdir, True/Flase) #把 olddir 拷贝一份 newdir,如果第 3 个参数是 True,则复制目录时将保持文件夹下的符号连接,如果第 3 个参数是 False,则将在复制的目录下生成物理副本来替代符号连接
- shutil.rmtree( src ) #递归删除一个目录以及目录内的所有内容
f-字符串(f-string)
格式化的字符串字面值(简称为 f-字符串),是在字符串的开始引号之前加上一个 f 或 F。在这样的字符串中,我们可以在花括号{}中引用变量或 Python 表达式。
花括号{}里面的表达式可以有一些格式说明符,它们用来更好的控制值的格式化方式。比如下面这个例子,将浮点数保留到小数点后三位:
Python 中 join 函数和 os.path.join 用法
join:连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
os.path.join(): 将多个路径组合后返回
1 | import os |
1 | hello/liyan/chenhaishun |
Python format 格式化函数
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
1 | print("{} {}".format("hello", "world")) # 不设置指定位置,按默认顺序 |
1 | hello world |
1 | # 也可以设置参数: |
1 | 网站名:菜鸟教程, 地址 www.runoob.com |
- 本文作者: YuT
- 本文链接: https://ytno1.github.io/archives/161b6937.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!