python123考试时能屏幕共享吗,Python_Day2_共享你的代碼

一、編寫簡單的函數,保存一下。

#coding=utf-8

"""這是“nester.py”模塊,提供了一個名為print_lol的函數,這個函數的作用是打印列表,其中有可能包含(也有可能不包含)嵌套列表。"""

def print_lol(the_list,level =0):"""這個函數取一個位置參數,名為"the_list",這個可以是任何python列表(也可以是包含嵌套列表的列表)。所指定的列表中的每個數據項(遞歸的)輸出到屏幕上,各數據項各占一行。

第二個參數(名為"level")用來在遇到嵌套列表時插入制表符。"""

for each_item inthe_list:ifisinstance(each_item,list):

print_lol(each_item,level)#遞歸調用

else:for tab_stop inrange(level):print("\t",end="")print(each_item)

二、測試自己的代碼

In [1]: num = [1,2,3,[4,5,6,[7,8,9]]]

In [1]: def print_lol(the_list, indent=False, level=0):

...:     for each_item in the_list:

...:         if isinstance(each_item,list):

...:             print_lol(each_item,indent,level+1)^I#遞歸調用

...:         else:

...:             if indent:

...:                 for tab_stop in range(level):

...:                     print("\t",end="")

...:     print(each_item)

...:In [16]: print_lol(num,True,0)

1

2

3

4

5

6

7

8

9

三、准備發布

1.首先為模塊創建一個文件夾。

創建了文件夾之后,將nester.py模塊文件復制到這個文件夾中。為了簡單起見,下面把這文件夾命名為nester

cd E:\vscodeProject\python\mkdirnestermv nester.py E:\vscodeProject\python\nester\

2.在新文件夾中創建一個名為setup.py的文件

這個文件包含有關發布的元數據。編輯這個文件,增加下面的代碼。

from distutils.core importsetup

setup(

name= 'nester',

version= '1.0.0',

py_modules= ['nester'],

author= 'anchun',

author_email= '15631196139@163.com',

url= 'http://www.cnblogs.com/quail2333',

description= 'A simple printer of nester lists',

)

查看目錄內的內容

d11c286a2aee821d34fc9461e379cf5b.png

3.構建一個發布文件

>python3 .\setup.py sdist

running sdist

running check

warning: sdist: manifest template'MANIFEST.in' does notexist (using default file list)

warning: sdist: standard filenotfound: should have one of README, README.txt

writing manifest file'MANIFEST'creating nester-1.4.0

making hard linksin nester-1.4.0...

hard linking nester.py-> nester-1.4.0

hard linking setup.py-> nester-1.4.0

Creating tar archive

removing'nester-1.4.0' (and everything under it)

然后查看目錄下:

e19178f3e8a8072758472380bceb4c6a.png

4.將發布安裝到你的python本地副本中

>python3 .\setup.py install

running install

running build

running build_py

creating build

creating build\lib

copying nester.py->build\lib

running install_lib

running install_egg_info

Removing D:\python36\Lib\site-packages\nester-1.4.0-py3.6.egg-info

Writing D:\python36\Lib\site-packages\nester-1.4.0-py3.6.egg-info

四、發布速覽

利用python的發布工具,你的模塊已經轉換為一個發布,並且安裝在你的python本地副本上。

開始時只有一個函數,這個函數輸入到一個名為nester.py的文件中,這就創建了一個模塊。然后創建一個名為nester的文件夾存放這個模塊。通過在這個文件夾中增加一個名為setup.py的文件夾,從而能夠構建和安裝你的發布,這回生成一組額外的文件,並在nester文件夾中出現兩個新的文件夾,這些文件和文件夾都是由發布工具為你創建的。

PS E:\vscodeProject\python\nester> tree /a /F

卷 文件 的文件夾 PATH 列表

卷序列號為 B248-FA6C

E:.| MANIFEST #這個文件包含發布的文件列表

| nester.py #代碼在這個文件中

| setup.py #元數據在這個文件中

|

+---build #這是新增的文件夾

| \---lib #這是新增的文件夾

| nester.py #代碼在這個文件中

|\---dist

nester-1.4.0.tar.gz #這是發布包

1.導入模塊

In [1]: import nester #使用import關鍵字導入模塊

In [2]: nester? #使用nester?顯示模塊信息

Type: module

String form:File: d:\python36\lib\site-packages\nester.py

Docstring: 這是“nester.py”模塊,提供了一個名為print_lol的函數,這個函數的作用是打印列表,其中有可能包含(也有可能不包含)嵌套列表。

In [3]: nester?? #使用nester??顯示詳細信息,包括源碼

Type: module

String form:File: d:\python36\lib\site-packages\nester.py

Source:#coding=utf-8

"""這是“nester.py”模塊,提供了一個名為print_lol的函數,這個函數的作用是打印列表 ,其中有可能包含(也有可能不包含)嵌套列表。"""

def print_lol(the_list, indent=False, level=0):"""這個函數取一個位置參數,名為"the_list",這個可以是任何python列表(也可 以是包含嵌套列表的列表)。所指定的列表中的每個數據項(遞歸的)輸出到屏幕上,各 數據項各占一行。

第三個參數(名為"level")用來在遇到嵌套列表時插入制表符。"""

for each_item inthe_list:ifisinstance(each_item,list):

print_lol(each_item,indent,level+1) #遞歸調用

else:ifindent:for tab_stop inrange(level):print("\t",end="")print(each_item)

2.導入完成后,我們使用print_lol()打印嵌套數組

In [5]:nester.print_lol(num)#這里涉及到命名空間。

#簡單來說:王寡婦找老六抬水,寫成命名空間:老六.抬水(王寡婦)nester.print_lol(num)1

2

3

4

5

6

7

8

9

In [6]: from nester importprint_lol as pl

In [7]: pl(num)1

2

3

4

5

6

7

8

9

五、發布到PYPI

我們如果有賬號密碼,可以在這個網站進行上傳,共享你的代碼。沒有賬號和密碼注冊一個即可。

c1c19222e53989bb7ef1a6f452170b2c.png

我們隨便搜索一個模塊

aef1f8e761da0ba253f676541cad10ea.png

執行命令:

python3 setup.py register

990d2bfa9402edf08522427847f34e2e.png

因為我的密碼忘記了,所以就不繼續演示了,登陸成功后,執行上傳命令即可

python3 setup.py sdist upload

返回200即上傳成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值