日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python学习笔记(十三)

發(fā)布時(shí)間:2024/4/13 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习笔记(十三) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python學(xué)習(xí)筆記(十三):

  • 模塊
  • if name == main
  • 軟件目錄結(jié)構(gòu)規(guī)范
  • 作業(yè)-ATM+購(gòu)物商城程序
  • 1. 模塊

    1. 模塊導(dǎo)入方法

  • import 語(yǔ)句
  • import module1[, module2[,... moduleN] # 當(dāng)我們使用import語(yǔ)句的時(shí)候,Python解釋器通過(guò)自己的搜索路徑(存在sys.path里)進(jìn)行搜索  
  • from…import 語(yǔ)句
  • from modname import name1[, name2[, ... nameN]] # 這個(gè)聲明不會(huì)把整個(gè)modulename模塊導(dǎo)入到當(dāng)前的命名空間中,只會(huì)將它里面的name1或name2單個(gè)引入到執(zhí)行這個(gè)聲明的模塊的全局符號(hào)表。
  • From…import* 語(yǔ)句
  • from modname import * # 這提供了一個(gè)簡(jiǎn)單的方法來(lái)導(dǎo)入一個(gè)模塊中的所有項(xiàng)目。然而這種聲明不該被過(guò)多地使用。大多數(shù)情況, Python程序員不使用這種方法,因?yàn)橐氲钠渌鼇?lái)源的命名,很可能覆蓋了已有的定義。

    2. 包

    為了避免模塊名沖突,Python又引入了按目錄來(lái)組織模塊的方法,稱為包(Package)
    舉個(gè)例子,一個(gè)abc.py的文件就是一個(gè)名字叫abc的模塊,一個(gè)xyz.py的文件就是一個(gè)名字叫xyz的模塊。
    現(xiàn)在,假設(shè)我們的abc和xyz這兩個(gè)模塊名字與其他模塊沖突了,于是我們可以通過(guò)包來(lái)組織模塊,避免沖突。方法是選擇一個(gè)頂層包名:

    引入了包以后,只要頂層的包名不與別人沖突,那所有模塊都不會(huì)與別人沖突。現(xiàn)在,view.py模塊的名字就變成了hello_django.app01.views,類似的,manage.py的模塊名則是hello_django.manage。
    請(qǐng)注意,每一個(gè)包目錄下面都會(huì)有一個(gè)__init__.py的文件,這個(gè)文件是必須存在的,否則,Python就把這個(gè)目錄當(dāng)成普通目錄(文件夾),而不是一個(gè)包。init.py可以是空文件,也可以有Python代碼,因?yàn)開_init__.py本身就是一個(gè)模塊,而它的模塊名就是對(duì)應(yīng)包的名字。
    **調(diào)用包就是執(zhí)行包下的__init__.py文件

    3. if name == main

    • 如果我們是直接執(zhí)行某個(gè).py文件的時(shí)候,該文件中那么”name == 'main'“是True,但是我們?nèi)绻麖牧硗庖粋€(gè).py文件通過(guò)import導(dǎo)入該文件的時(shí)候,這時(shí)__name__的值就是我們這個(gè)py文件的名字而不是__main__。
    • 這個(gè)功能還有一個(gè)用處:調(diào)試代碼的時(shí)候,在”if name == 'main'“中加入一些我們的調(diào)試代碼,我們可以讓外部模塊調(diào)用的時(shí)候不執(zhí)行我們的調(diào)試代碼,但是如果我們想排查問(wèn)題的時(shí)候,直接執(zhí)行該模塊文件,調(diào)試代碼能夠正常運(yùn)行!

    4. 軟件目錄結(jié)構(gòu)規(guī)范

    1. 為什么要設(shè)計(jì)好目錄結(jié)構(gòu)?

  • 可讀性高: 不熟悉這個(gè)項(xiàng)目的代碼的人,一眼就能看懂目錄結(jié)構(gòu),知道程序啟動(dòng)腳本是哪個(gè),測(cè)試目錄在哪兒,配置文件在哪兒等等。從而非常快速的了解這個(gè)項(xiàng)目。
  • 可維護(hù)性高: 定義好組織規(guī)則后,維護(hù)者就能很明確地知道,新增的哪個(gè)文件和代碼應(yīng)該放在什么目錄之下。這個(gè)好處是,隨著時(shí)間的推移,代碼/配置的規(guī)模增加,項(xiàng)目結(jié)構(gòu)不會(huì)混亂,仍然能夠組織良好。
  • 2. 目錄組織方式

  • bin/: 存放項(xiàng)目的一些可執(zhí)行文件,當(dāng)然你可以起名script/之類的也行。
  • foo/: 存放項(xiàng)目的所有源代碼。
  • 源代碼中的所有模塊、包都應(yīng)該放在此目錄。不要置于頂層目錄。
  • 其子目錄tests/存放單元測(cè)試代碼;
  • 程序的入口最好命名為main.py。
  • docs/: 存放一些文檔。
  • setup.py: 安裝、部署、打包的腳本。
  • requirements.txt: 存放軟件依賴的外部Python包列表。
  • README: 項(xiàng)目說(shuō)明文件。
  • 5. 作業(yè)-ATM+購(gòu)物商城程序

    • 作業(yè)需求:模擬實(shí)現(xiàn)一個(gè)ATM + 購(gòu)物商城程序
  • 額度 15000或自定義
  • 實(shí)現(xiàn)購(gòu)物商城,買東西加入 購(gòu)物車,調(diào)用信用卡接口結(jié)賬
  • 可以提現(xiàn),手續(xù)費(fèi)5%
  • 每月22號(hào)出賬單,每月10號(hào)為還款日,過(guò)期未還,按欠款總額 萬(wàn)分之5 每日計(jì)息
  • 支持多賬戶登錄
  • 支持賬戶間轉(zhuǎn)賬
  • 記錄每月日常消費(fèi)流水
  • 提供還款接口
  • ATM記錄操作日志
  • 提供管理接口,包括添加賬戶、用戶額度,凍結(jié)賬戶等。。。
  • 用戶認(rèn)證用裝飾器
  • 轉(zhuǎn)載于:https://www.cnblogs.com/ryomahan/p/7701369.html

    總結(jié)

    以上是生活随笔為你收集整理的Python学习笔记(十三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。