發表文章

目前顯示的是 7月, 2014的文章

[Lab] Python 更新自己的module成可向下相容版

圖片
延續之前的故事 目前taopython_nester 1.1版的長這樣: 如果之前 1.0 版本的用法 這樣呼叫 taopython_nester.print_lol(movie) 會錯!! 因為 level 不知道要給多少 有圖有真相 所以先把 level 改成有預設值得情況 測試看看 可以直接用了!! 有參數的版本也行! 參數要放到-2才會跟原本的 1.0.0版本效果一樣 所以目前還沒有完全向下相容!! 應該要做到原本 1.0.0 版本使用者使用看到的 output 都跟之前一樣不會變 要做tab縮牌功能再下參數使用新版本 這樣的話,就再開一個參數與 if else 來控制這回事吧! 這裡要注意的是 python 語言的 False 要大寫! 寫好後先來測試看看,完全沒下其他新參數的版本 work ! 而且效果跟之前的一樣! 有下參數就會有新功能tab排版!! 這裡要注意 True 要大寫!! 完成後就再次編輯一下setup.py的版號 (1.3.0) 然後上傳更新一下PyPI帳戶上的module DONE~

[Lab] Python --- 使用BIF (Built-in function)&更新自己上傳的API版本

圖片
延續之前 來把上上篇寫的module更新成兩個參數版本,另一個參數控制tab數量 將內層的第二維度array縮牌排版!  這個版本加入了另一個參數 level 可以用tab \t 的方式將array of array縮排 python 的 print() 預設是會換行,如果不想要換行要加上 end = '' 其中用到的range效果如下 range(多少) 就給你多少長度的純數字 array 來試看看效果 step 1 首先,我建一個很畸形的array step 2 把我寫好的 taopython_nester import進來 同時要小心,在呼叫 function 時不能直接叫名字 (不禮貌 XD)! 前面要連名帶姓 ... = = taopython_nester.print_lol() 成功!! 既然更新版的code寫好了 來把setup.py 更新一下成 1.1.0 版本 然後比照之前 python3 setup.py sdist upload 上傳我的 PyPI 更新這個module的版本 p.s. 上一篇 有提及我把 python3 直接設定到 python了 所以這裡就直接打 python setup.py sdist upload 就可以了

[Lab] 更新mac電腦裡面的 python 2.x 到 3.x

圖片
我在使用 print("字串", end='') 時發現 在python 2.x 版本時不能用!! 會出現這樣 上網爬了下文才知,這是python 3.x 版本的新寫法! 於是乎,我上python 官網 載了3.4.1版的python 安裝安裝 再次python 我剛剛的東西 結果還是一樣! 原本懷疑python 3 版沒裝成功 結果網路上 爬文 ,終於才發現我打python 還是會維持原本的2.x舊版 要用 python3 才會使用到 3.x新版本 趕緊試試: 有成功耶~ A_A tab ( \t )之後因為end = '' 所以沒有換行! 這篇文 還有提到如何設定環境,讓以後我只要打 python 就是新的python3 版 先 vim ~/.bash_profile 然後按 i 切換到insert模式在裡面追加這行 alias python="python3"  按esc鍵,然後 :wq 並且 重開終端機 !! 要先 完全結束終端機再重開才有效 !! 登登登~~ A_A --- 覺得開心 (這篇網誌的格式:費雯)

[Lab] Python --- 註冊一個pypi帳號,上傳寫好的module

圖片
延續上篇,寫好的python模組,可以上傳分享到PyPI  到 https://pypi.python.org/pypi 辦一個帳號 收到確認信之後 會來到這個畫面 confirm後即完成註冊 接著要上傳寫好的模組 --> 開終端機 cd 到剛剛的寫好模組的資料夾 打入指令 python3 setup.py register 選擇 1 輸入剛剛註冊好的帳密 囧 ... 出現: Server response (403): You are not allowed to store 'nester' package information 原因是因為nester這個名字撞到了 試試看重新建一個新名字的module 先建一個目錄taopython_nester  這是新的 setup.py 準備好剛有的檔案後就 cd 到我的目錄下 python3 setup.py sdist 再 python3 setup.py install 再次 python3 setup.py register 這裡出現 ... (200) OK 太感動了! 下面的save your login 我選 y  然後是 python3 setup.py sdist upload 成功上傳!! :))))))

[Lab] Python module與distribution

圖片
延續上一篇 把寫好的function另存成一個 .py 檔案 作為一個模組用 命名為nester.py step2 寫一個setup.py 來記錄這個模組的metadata 第一行 from  ...   這句是從Python發行套件公用程式匯入 setup函式 step3 開一個資料夾裝它們 step4 在這個資料夾底下 下指令: python3 setup.py sdist step5 在這個資料夾底下 下指令: python3 setup.py install 完成後 nester資料夾現在會變成這樣:  這裡面的nester-1.0.0.tar.gz就是我的發行套件黨 step6 呼叫模組 使用import 建構一個新的.py檔案 因為剛剛動作都完成了 所以可以 import nester 要注意,在呼叫nester裡面的function print_lol()時 前面要nester.print_lol() 才會找的到 這是 namespace qualification  命名空間限定! 執行看看!成功!

[Lab] Python list用法&基本語法整理

圖片
從這邊起開始記錄閱讀 <深入淺出Python> 一書的所見所聞所試瑣事 :) 宣告array 用法: arr = ["abc","python","cd","facebook","JS"] 直接印出來看這樣寫: print(arr) 會看到  ['abc', 'python', 'cd', 'facebook', 'JS'] 使用  len 來看array的長度: 用法:len(arr) 效果:會出現 5 使用 pop() 把最後一個人pop踢出來! 用法: arr.pop() 效果:會剩下 ["abc","python","cd","facebook"] 使用 append 把東西放最後面 用法:arr.append("Jimmy") 效果:array目前變成這樣 ["abc","python","cd","facebook", "Jimmy"] 使用 extend 可以一次將一個陣列加入 用法:arr.extend(["java","C++","Tao"]) 效果:array目前變成這樣 ["abc","python","cd","facebook", "Jimmy","java","C++","Tao"] 使用 remove 刪掉特定的人: 用法:arr.remove("cd") 效果:array目前變成這樣 ["abc","python","facebook", "Jimmy",&