2019年10月12日 星期六

【python】 print的簡化寫法,利用string formating

#傳統寫法
print("Line1")
x=1+1
print("Line2")
first_name=input('Please input first name!')
last_name=input('Please input Last_name!')
#capitalize將字串開頭轉大寫其它轉小寫
print(first_name.capitalize() + ' ' + last_name.capitalize())

#output 字串物件 ,利用output物件,簡化print字串寫法,程式碼較簡潔
output='My name is '+first_name + last_name
print(output)
output='My name is {} {}'.format(first_name,last_name) #{}搭配 format語法..有順序性
print(output)
output='My name is {0}_{1}'.format(first_name,last_name)#{0}編號由0開始,有順序性
print(output)
output='My name is {1}_{0}'.format(first_name,last_name)#{0}編號由0開始,有順序性
print(output)
output=f'My name is {first_name} {last_name}' #此寫法僅支援python 3,f關鍵字表示format
print(output) 


執行結果.....
Line1 Line2 Please input first name!miller Please input Last_name!wang Miller Wang My name is millerwang My name is miller wang My name is miller_wang
My name is wang_miller My name is miller wang

2019年6月30日 星期日

【Python】dict的範例code

dict1={'name':'miller','age':30,'weight':60} #key-value的格式#
print(1,str(dict1['name'])) #指定Key以取得vale,此行加用str函數轉型輸出#
dict2=dict1.copy() #copy()複製dict物件 dict1給dict2#
dict2.pop('name') #pop()移除dict2的其中一個Key欄位'name'#
print(2,dict2)
dict2['name']='Nicole' #加回key欄位'name'並指定value為'Nicole'#
print(3,dict2)
dict2['name']='Jerry' #修改'name'的value為'Jerry'#
print(4,dict2)
-------輸出結果--------
1 miller 2 {'age': 30, 'weight': 60} 3 {'age': 30, 'weight': 60, 'name': 'Nicole'} 4 {'age': 30, 'weight': 60, 'name': 'Jerry'} PS C:\Users\miller\Python測試code>

【python】Set物件的使用範例

smp1=set(['張飛','關羽','劉備','趙雲'])
print(smp1)
smp1.add('馬超') #新增'馬超'至smp1
print("新增'馬超'至smp1:" , smp1)
smp2=smp1.copy() #複製相同set object#
print("複製相同set object:",smp2)
smp2.remove('馬超')
print("移除set中的陣列:",smp2)
#----------------------------------
#判斷某值是否存在set物件中#
print(smp1)
print('馬超' in smp1)
print(smp2)
print('馬超' in smp2)
#------------------------------------
print(smp1.intersection(smp2)) #smp1跟smp2的交集#
print(smp1.union(smp2)) #smp1與smp2的聯集
print(smp1.difference(smp2))#smp1與smp2的差集,只存在smp1的值#


-------------輸出結果---------------
移除set中的陣列: {'關羽', '趙雲', '張飛', '劉備'} {'關羽', '趙雲', '馬超', '張飛', '劉備'} True {'關羽', '趙雲', '張飛', '劉備'} False {'關羽', '張飛', '趙雲', '劉備'} {'關羽', '趙雲', '馬超', '張飛', '劉備'} {'馬超'} PS C:\Users\miller\Python測試code>

2019年1月5日 星期六

Docker for Windows10 PRO 安裝筆記


一、安裝及驗証
Docker for Win10 Pro的下載連結安裝連結,驗証步驟也有詳細說明。
refer:
Docker - Docker for Windows 10 入門篇
Get started with Docker for Windows
Docker 常用指令與容器操作教學
Docker 常用參數

二、Docker基本指令介紹
      說明:下列操作環境在windows power shell 中,記得切換至windows containers如下圖。

  1.  從docker Hub拉下image
    • docker pull [images name]
    • 下列範是拉下nanoserver
      EX:docker pull microsoft/nanoserver
  2. 查看已安裝的image檔
    • docker images

    3.移除container
    •   docker rm [container id]
      
    4.移除images
    •  docker rmi [REPOSITORY]

    5.啟動Docker容器

    • docker run 可以用來啟動 Docker 虛擬容器環境:
    加上 -it 參數代表在執行 Docker 虛擬容器環境時,開啟虛擬終端機,以互動的模式執行。在cmd環境下windows 指令驗証是否有成功啟動。

6.查詢曾經啟動過的container
    • docker ps -a

7.停止container,若要停止 Docker 容器,可以使用 stop 指令:

    • docker stop [CONTAINER ID]
8.當container當掉想要強制停止可以下kill
    • docker kill [CONTAINER ID]
9.查詢正在啟用中的container
    •  docker ps

10.重新啟動 Docker停止使用中的container
    • docker restart [CONTAINER ID]
11.用docker Search 可搜尋docker Hub上的images。













2019年1月1日 星期二

[Git筆記-4]如何將 repository 做本機和遠端的連結

如何將 repository 做本機和遠端的連結
1.請先在GitHub建主帳號,並且建立好遠端的repository,本文不說明這段,若有興趣的朋友可以參考這個連結git的初始設定
2.讓local端的repository知道remote端的位置,指令如下。
$ git remote add origin <remote 網址>

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git remote add origin https://github.com/millerhome/Hello-test.git            

3.接者準備將本地端程式 push 到遠端檔案庫:
$ git push -u origin master

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git push -u origin master                                                     
Enumerating objects: 6, done.                                                   
Counting objects: 100% (6/6), done.                                             
Delta compression using up to 8 threads                                         
Compressing objects: 100% (2/2), done.                                          
Writing objects: 100% (6/6), 525 bytes | 525.00 KiB/s, done.                    
Total 6 (delta 0), reused 0 (delta 0)                                           
To https://github.com/millerhome/Hello-test.git                                 
 * [new branch]      master -> master                                           
Branch 'master' set up to track remote branch 'master' from 'origin'.           
                                                                                

參數 -u 等同於 --set-upstream,設定 upstream 可以使分支開始追蹤指定的遠端分支。事實上,只要做過一次 $ git push -u <remote name> <branch name>,並且成功 push 出去;本機端的 master 就會被設定去追蹤遠端的 <remote name>/<branch name> 分支。只要成功設定好 upstream 後,第二次以後要上傳分支時,就只需要透過 git push 就可以了,不必再帶 <remote name> <branch name> 等參數。例如:$ git push
事實上,$ git push -u origin master 可以拆解成:

  1. $ git push origin master
  2. $ git checkout master
  3. $ git branch -u origin/master

查看GitHub帳號,就可以看看是否有執行成功。

查看GitHub就可以看到已Push上去的檔案

[Git筆記-3]git學習,commit後想取消要如何作

若是想反悔不想把檔案加入追蹤呢?
// 檔案尚未加入過追蹤時使用,即可恢復到檔案尚未加入暫存區
$ git rm --cached Test.txt
// 若檔案已經在 repository 內,則使用以下指令
// repository 與 stage 的檔案都會被還原到 HEAD,但 working directory 內的檔案不變
$ git reset HARD
若有檔案修改,記得要再 add 修改的檔案(這是新手比較容易忘記的部分),1.若是要放棄修改可以使用 git checkout -- 檔案名稱

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git checkout -- Test.txt                                                      
                                                                                

2.若檔案已經在 repository 內,則使用以下指令

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git reset HEAD Test.txt                                                       
Unstaged changes after reset:                                                   
M       Test.txt                                                                
                                                                                
3.利用git status檢查修改後的檔案。

$ git status                                                                    
                                           
                                                                                
Changes not staged for commit:                                                  
  (use "git add ..." to update what will be committed)                    
  (use "git checkout -- ..." to discard changes in working directory)     
                                                                                
        modified:   Test.txt