Python学习笔记五
一. 递归
递归函数:
def a ():
print ("from b")
b()
def b():
print("from a ")
a()
a()
递推和回溯
递归练习
二. 二分法
列表从小到大的数字列表,采用二分法。
三. 匿名函数
lambda n:n**2
自带return,适用于只有一行代码的函数体。
匿名函数调用:匿名函数就是个值。直接使用就行。不用为匿名函数绑定名称,匿名函数只能用一次,就会被回收。
匿名函数的应用场景:某个功能只用一次。
四. 内置函数
zip函数 拉链函数
字符串,列表,元组比较大,先比较索引0的值大小。
max函数
min函数
sorted函数
map函数
reduce函数
abs函数 求绝对值
all函数
any函数
bytes函数
callable函数
chr函数
ord函数
classmethod
staticmethod
complie函数
exec函数
五. 模块的使用
写一个py文件就是一个模块
常见的模块:文件,C和C++
导入一个模块,会有什么操作?
执行模块中的代码,并且只执行一次。
以源文件为准,产生一个名称空间。
以刚刚产生的名称空间为准,执行源文件的代码。
为模块起别名 使用as关键字
在一行导入多个模块,用逗号分隔开。
from ... import ...
from spam import * 导入模块中的所有名称
在模块中,添加__all__,只跟from spam import * 一起使用。导入的时候,先检查模块中有没有__all__,没有就导入所有,有只导入__all__中的变量名称。
__all__是一个列表,默认为空。
六. 模块的重载
python不支持重新加载
七. python文件的用途
当作脚本运行
当作模块被调用。
可以使用__name__查看,文件是被当作脚本,__name__='__main__'.
文件当作模块被导入时,__name__等于模块名。
通过__name__控制,文件被当作脚本,还是模块。
七. 模块的搜索路径
内存中已经加载的模块-->内置模块-->sys.path路径中包含的模块
八. 包
import 包名
python3会自动产生__init__.py的文件。python3中没有__init__.py,不会报错,但是python2中就会有报错。
.的左边必须是包,
九. 包的绝对路径和相对路径
十. 软件开发规范
bin 程序的执行文件
conf 配置文件
log 日志文件
lib 模块和包
data 数据文件
core 核心
import sys
Python学习笔记五的更多相关文章
- python学习笔记五 模块上(基础篇)
模块学习 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- Python学习笔记五:错误与异常
一:常见异常与错误 BaseException 所有异常的基类SystemExit 解释器请求退出KeyboardInterrupt 用户中断执行(通常是输入^C)Exception 常规错误的基类S ...
- python学习笔记(五):装饰器、生成器、内置函数、json
一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里 ...
- Python学习笔记五(读取提取写入文件)
#Python打开读取一个文件内容,然后写入一个新的文件中,并对某些字段进行提取,写入新的字段的脚本,与大家共同学习. import os import re def get_filelist(dir ...
- Python学习笔记(五)函数和代码复用
函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...
- python学习笔记五 模块下(基础篇)
shevle 模块 扩展pickle模块... 1.潜在的陷进 >>> import shelve>>> s = shelve.open("nb" ...
- python学习笔记五--文件
任何情况下文本文件在Python里均是字符串模式. 一.创建一个文件,并写入: 函数open(文件名,w) 二.打开一个文件,并读取: 函数open(文件名,r),“r”是默认值,可以不用写 三.使用 ...
- Python学习笔记五--条件和循环
5.1 if语句 没什么好说,if语句语法如下: if expression: expr_true_suit 5.1.1多重条件表达式 单个if语句可以通过布尔操作符and,or,not实现多重条件判 ...
- Python学习笔记五,函数及其参数
在Python中如何自定义函数:其格式为 def 函数名(函数参数): 内容
随机推荐
- Android——分割线中夹文字
内容不多,只是感觉平时很容易遇上,那就做个笔记吧! 其实很简单,如下: <RelativeLayout android:layout_width="match_parent" ...
- 基于MySQL的Activiti6引擎创建
整个activiti6的搭建都是在spring boot2之上的,首先贴一下pom: <dependencies> <!-- 这是activiti需要的最基本的核心引擎 --> ...
- MySQL 8.0 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
- python doc格式转文本格式
首先python是不能直接读写doc格式的文件的,这是python先天的缺陷.但是可以利用python-docx (0.8.6)库可以读取.docx文件或.txt文件,且一路畅通无阻. 这样的话,可以 ...
- mpvue——另类支持v-html
前言 最近在用mpvue将之前写的vue项目转化为小程序,但是不支持v-html,也不能说不支持,只不过转化为了rich-text的富文本组件,但是图片显示不全啊 本来想让后端内嵌个样式的,还是算了, ...
- linux下sort命令详解大全
工作原理: Sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. 第一部分: 1. sort:(不带参数) [rocrocket@ ...
- pycharm 运行错误信息显示乱码
pycharm版本 解决方法:
- Day040--HTML&CSS
内容回顾: 标签分类: (1)行内标签 span 小跨度的标签 i em a 特点: (1)在一行内显示 (2)不能设置宽高,如果不设置宽高,默认是内容的宽高 (2)块级标签 h1~h6 h1页面中尽 ...
- Node.js模块化教程
Node.js模块化教程 下载安装node.js 创建项目结构 |-modules |-module1.js |-module2.js |-module3.js|-app.js|-package.js ...
- 弄懂promise
ECMAscript 6 原生提供了 Promise 对象. Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息 有了 Promise 对象,就可以将异步操作以同步操作的流程表达出来 ...