再帰関数を指すが、ネストされた呼び出しの形の性能の関数であり、関数自体は、(直接または間接的に呼ばれる)を繰り返します
直接呼び出しは:組み込み関数、ダイレクトコール機能自体を指します。
間接呼び出しは:再帰的洞察原因の二つの機能の間でお互いを呼び出します
再帰制限のつまりのpython再帰の深さ:998
PS:各オペレーティングシステムには、デフォルトの再帰の深さを設定するために、ハードドライブに基づいて行われます。
現在の再帰の深さを見る:sys.getrecursionlimit()
インポート SYS
印刷(SYS。getrecursionlimit()) #ビューの再帰の深現在耐えるために
SYSを。setrecursionlimit(2000)#変更再帰2000の深さ
戻る:繰り返し、我々ははるかに近い結果を取るたびに行われ、バックが終了条件を持っている必要があります言及。
再帰:終了条件を見つけるために、バックトラックすると、ステップ再帰でステップを起動します。
第五人の年齢求めている以上2歳の後の最初の人によると、最低18歳の男性、
DEF 年齢(N-を):IF N- == 1:リターン18 リターン年齢(N- - 1)+ 2つのRES = 年齢(5)印刷(RES)
モジュールパッケージ
モジュールは、一連の機能の集合体である、本質的にPYファイルの1つです
パッケージ
内部パケットを指し、Aフォルダ__ INIT __.pyが含まれています
ロールパッケージ:ストレージ・モジュールは、パッケージには、より良い管理モジュールとすることができます
ソース・モジュール:
1.python内蔵モジュール(Pythonインタプリタ)として:SYS /時間/ OS /カメ
リクエスト:のような他の人によって書かれた2サードパーティのモジュール:()
3.カスタムモジュール:(自分自身を書く)、のような:demo.py独自の定義ファイル
フォームモジュール:
1.使用してPythonのPYファイルに記述されました
2.コンパイル後のCまたはC ++ライブラリでのDLLまたは共有ライブラリ。
3. 以下の__init__とのパッケージ。PyはファイルのセットをPY。
4.pythonインタプリタの下でファイル
なぜ使用モジュール?
モジュールは、私たちはより良い機能コードの管理を支援することができます
新しいアイテムは、機能に分割することができ、別のファイルに格納されている(モジュール)のPY
注意:模块在首次导入时,就已经固定好了,当前文件查找的顺序是先从内存中查找
如何创建,编写并使用模块:
鼠标右键创建一个py文件
在文件里编写python代码
在一个文件里通过import关键字导入模块
import 模块名(注意导入模块时,模块不能加.py后缀)
在使用模块阶段必须要注意谁是执行文件,谁时被导入文件
模块在导入时发生的事:
1.首先执行当前文件,并产生执行文件中的名称空间。
2.当执行到导入模块的代码时,被导入的模块会产生一个模块的名称空间。
3.将被导入模块的名称空间加载到内存中
模块的导入方式
1.import 模块 在执行文件中直接import导入
2.from包/模块import模块/(函数名,变量名,类名)在执行文件中直接import导入
循环导入问题:
model1.py from model2 import name name = 'jason'
model2.py from model1 import name name = 'tank'
-
解决循环导入问题:1.需要查找的名字放在导入模块的上方2.在函数内部导入,将模块变成函数名称空间中的名字
-
软件开发目录规范:注意: 每一次写项目时,都要新建一个文件夹与项目工程,必须让项目文件夹作为项目根目录。
-
项目的文件夹
-
conf:
-
用于存放配置文件的文件夹
-
-
core:
-
核心业务代码 .py
-
-
interface:
-
接口, 接口内写获取数据前的逻辑代码,通过后才能获取数据
-
-
db:
-
用于存放文件数据
-
-
lib:
-
存放公共功能文件
-
-
log:
-
用于存放日志文件,日志用于记录用户的操作记录
-
-
bin:
-
里面存放启动文件 / - 启动文件
-
-
readme.txt:
-
-
-