2019年8月20日 星期二

好玩Python,看見程式之美

Python程式以簡潔出名以下兩支程式輸出結果都是:
2
4
6
8
但第一支程式寫法比較簡潔,但也較不容易看懂。

1
2
3
A=[1,2,3,4,5,6,7,8,9]
B=[2,4,6,8]
[print (x) for x in A if x in B]

從第二支程式,就很容易看出,迴圈內有判斷式。
1
2
3
4
5
A=[1,2,3,4,5,6,7,8,9]
B=[2,4,6,8]
for x in A:
    if x in B:
        print (x)

2019年4月20日 星期六

用Python撰寫「用戶定義的HTTP回呼」結合IFTTT服務讓生活變得更變利

物聯網(Internet of Things, IoT)已經不在是高科技名詞而是我們日常生活中會用到的技術,日常中經常會使用到LINE、Gmail、Facebook、和一些感測元件,我們可以使用IFTTT服務串連這些服務。

參考資料:


1. ifttt 讓你手上的網路服務比別人聰明,讓網際網路自動做很多事

2.IFTTT Android iOS 入門教學:如果明天下雨請今日提醒我

3.PM2.5的Line機器IFTTT傳送最新PM2.5數值。


2019年3月10日 星期日

用Python Dash來設計展示用的儀錶板

對於大數據而言,如何用儀錶板來展示資料是很重要的,經由圖表的展現比從大量的數據中,找出關鏈問題做出決策要容易多。本節將介紹如何運用Python語言特質,使用Dash用圖表來展示結果。

參考資料來源:
1. Dash Layout,網址:https://dash.plot.ly/getting-started
2.Create Reactive Web Apps in pure Python,網址:https://medium.com/@plotlygraphs/introducing-dash-5ecf7191b503
3.Plotly Python Open Source Graphing Library

實際測試上述兩個網站所提供的三支程式,使用Python app.py,執行,app.py是指應用程式的名稱,也就是從上述網站中所提供的原始碼來進行測試,然後使用http://127.0.0.1:8050/查看執行結果。

(1) 長條圖


(二) 趨勢圖

 (三) 地圖顯示


2019年3月3日 星期日

使用Git+Bitbucket+Python+Django+Heroku來管理和發展網站

本篇將介紹用Git來做版本控制,用Bitbucket來儲存原始碼,使用Python來撰寫程式,Django來發展網站的框架,最後使用Heroku來發布網站。
1.使用Bitbucket來增加一個repository




2.按下列輸入指令


3.檢查檔案是否己經上傳成功

有關佈署到Heroku請參考文章"用 Heroku 部署網站"

2019年3月1日 星期五

使用Python+Django架構網站

為何要選用Django可以從下面影片中來瞭解。


中文Django教材可以參考文章"Django Tutorial"。
Django Project教材中,僅提到三個指令
  1. pipenv run django-admin startproject blog
  2. cd blog
  3. pipenv run python manage.py runserver
經敏哥測試還需要加上建立虛擬環境以及安裝Django,變成下列:
  1. pipenv run django-admin startproject blog
  2. cd blog
  3. mkvirtualenv blog
  4. pip install django
  5. pipenv run python manage.py runserver
之後才能使用,打開瀏覽器輸入 http://localhost:8000/

在"Django Template"文章中,有關datetime.now()使用的程式要改成下列(黃色顏色是補上的程式):

from django.shortcuts import render
import datetime

def now(request):

    return render(request, "now.html", {'now': datetime.datetime.now()})

對於"Django Views, Django URL & Django Template 再訪"的文章,view.py的程式應該為:

from django.shortcuts import render

from django.http import HttpResponse
import datetime
from .models import Article

def home(request):
    s = "Hello World!"
    return HttpResponse(s)

def now(request):
    return render(request, "now.html", {'now': datetime.datetime.now()})

def article_detail(request, pk):
    article = Article.objects.get(pk=pk)

    return render(request, 'article_detail.html', {'article': article})
另外
url(r'article//', article_detail),
也應該是path(r'article//', article_detail),


在部署的文件"把你的 Django Project 丟上雲端"heroku run python manage.my migrate,其中manage.my 要改成manage.py。