最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python實現(xiàn)一個簡單的Web匯率計算器

 更新時間:2022年08月26日 10:02:10   作者:派森醬  
Dash?是一個用于構(gòu)建基于?Web?的應(yīng)用程序的?Python?庫,無需?JavaScript?。本文將利用Dash編寫一個簡單的Web匯率計算器,感興趣的可以了解一下

前段時間剛接觸到前端網(wǎng)頁開發(fā),但是對于剛?cè)腴T的小白而言,像flask、Django等這類稍大型的框架確實不太適合,今天這個Dash是集眾家之長于一體的輕量化Web開發(fā)庫。

Dash是什么

Dash 是一個用于構(gòu)建基于 Web 的應(yīng)用程序的 Python 庫,無需 JavaScript 。

Dash 同時也是用于創(chuàng)建分析 Web 應(yīng)用程序的用戶界面庫。那些使用 Python 進行數(shù)據(jù)分析、數(shù)據(jù)挖掘、可視化、建模、儀器控制和報告的人可以立即使用 Dash 。

Dash 建立在 Plotly.js、React 和 Flask 之上,將現(xiàn)代 UI 元素(如下拉列表、滑塊和圖形)與你的分析 Python 代碼相結(jié)合。

網(wǎng)頁搭建步驟

安裝相關(guān)依賴(庫)

提示:本文基于Windows 10、Anaconda 3、Sublime Text,Python版本為3.6.5 個人習(xí)慣單獨新一個用于dash開發(fā)的虛擬環(huán)境,創(chuàng)建命令:

conda?create?-n?myenv_dash?python==3.6.5

安裝Dash的第三方包:

pip?install?dash

因為是基于Flask,所以系統(tǒng)會自動安裝相應(yīng)的依賴,這里我建議也安裝一個額外依賴:dash_bootstrap_components

pip?install?dash_bootstrap_components

此依賴包含Twitter的bootstrap組件。

導(dǎo)入相關(guān)包

from?dash?import?Dash,?html,?dcc
from?dash.dependencies?import?Input,?Output
import?dash_bootstrap_components?as?dbc

構(gòu)建app

try:
????#?獲取在線bootstrap.min.css
????app?=?Dash(__name__,?external_stylesheets?=?['https://cdn.staticfile.org/twitter-bootstrap/4.5.2/css/bootstrap.min.css'])
????print('此網(wǎng)頁渲染基于在線的CSS')
except:
????#?獲取本地bootstrap.min.css
????app?=?Dash(__name__,?external_stylesheets?=?[r"E:\Desktop\My_Python\Dash\css\bootstrap.min.css"])
????print('此網(wǎng)頁渲染基于本地的CSS')
app.title?=?'在線匯率計算器'

此處使用的css有在線的和本地的,利用try……except……防止在線的css文件無法加載而導(dǎo)致報錯。

構(gòu)建結(jié)果輸出函數(shù)

代碼如下(示例):

#?輸出函數(shù),對于重復(fù)使用的,定義函數(shù)更快捷
def?item(name,?img_path):
????return?dbc.ListGroupItem([html.H5(name),?html.Img(src=img_path),?html.H5('---',?id=name,?className='float-right')])

因為是單輸入,多輸出,構(gòu)建item函數(shù)可以重復(fù)利用,優(yōu)化代碼, 函數(shù)參數(shù)有貨幣名稱和國旗(提前準備好圖片素材,大小建議不要太大,我的圖片是160*110)。dbc.ListGroupItem組件可以很好的定位標(biāo)簽、文字; 其中的className='float-right'可以理解為顯示樣式,代表“靠右浮動”

網(wǎng)頁結(jié)構(gòu)Layout搭建

代碼如下(示例):

app.layout?=?dbc.Container(
????children=[
????????dbc.ListGroup([
????????????dbc.ListGroupItem(children=[
????????????????html.H1("匯率計算器-簡單版",style={'textAlign':?'center','color':'#272528'}),
????????????????html.P('輸入:用于兌換外幣的人民幣數(shù);輸出:能兌換到的外幣數(shù);單位:單位幣值。',style={'textAlign':?'center','color':'#BB002D'}),
????????????????dbc.Input(value?=?0,?id?=?'input',?type='number')
????????????],active=True),
????????????item('JPY','./assets/Japan.jpg'),
????????????item('USD','./assets/USA.jpg'),
????????????item('GBP','./assets/UK.jpg'),
????????????item('HKD','./assets/Hongkong.jpg'),
????????????item('EUR','./assets/EU.png'),
????????????item('CHF','./assets/France.png'),
????????????item('INR','./assets/India.jpg')
????????],className='shadow')
????],style={'padding':'2rem'}
)

layout為GUI布局,采用列表的模式,根據(jù)行列進行排布;style={'textAlign': 'center','color':'#272528'}為文字排布樣式設(shè)定,為字典類型,可以設(shè)置字體,顏色等 dbc.Input(value = 0, id = 'input', type='number')默認value值為0,數(shù)據(jù)類型為number用于計算;style={'padding':'2rem'}為Container(容器)的居中顯示樣式,代表畫布距離邊界的寬度。

callback回調(diào)參數(shù)設(shè)定

代碼如下(示例):

@app.callback(
????output?=?[
????Output('JPY',?'children'),
????Output('USD',?'children'),
????Output('GBP',?'children'),
????Output('HKD',?'children'),
????Output('EUR',?'children'),
????Output('CHF',?'children'),
????Output('INR',?'children')
????],
????inputs?=?[Input('input',?'value')]
????)
def?rule(rmb):
????rmb?=?rmb?if?rmb?is?not?None?else?0
????return?(
????????f'{round(rmb/0.0501,2)}?¥',
????????f'{round(rmb/6.7646,2)}?$',
????????f'{round(rmb/8.1682,2)}?£',
????????f'{round(rmb/0.8615,2)}?¥',
????????f'{round(rmb/6.8881,2)}?€',
????????f'{round(rmb/7.0309,2)}?€',
????????f'{round(rmb/0.0852,2)}?$'
????????)

@app.callback可以理解為裝飾器,用于網(wǎng)頁的交互。rule函數(shù)用于計算匯率。ps:這里的貨幣符號不一定全對,意思一些,不用太較真哈?。?!

界面效果

到此這篇關(guān)于利用Python實現(xiàn)一個簡單的Web匯率計算器的文章就介紹到這了,更多相關(guān)Python匯率計算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何使用Python?Matplotlib繪制條形圖

    如何使用Python?Matplotlib繪制條形圖

    當(dāng)我們使用plot方法繪圖時,默認繪制的是折線圖,下面這篇文章主要給大家介紹了關(guān)于如何使用Python?Matplotlib繪制條形圖的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • python應(yīng)用Axes3D繪圖(批量梯度下降算法)

    python應(yīng)用Axes3D繪圖(批量梯度下降算法)

    這篇文章主要為大家詳細介紹了python應(yīng)用Axes3D繪圖,批量梯度下降算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python實現(xiàn)Wordcloud生成詞云圖的示例

    Python實現(xiàn)Wordcloud生成詞云圖的示例

    這篇文章主要介紹了Python實現(xiàn)Wordcloud生成詞云圖的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • python進行參數(shù)傳遞的方法

    python進行參數(shù)傳遞的方法

    在本篇文章里小編給大家分享的是關(guān)于python進行參數(shù)傳遞的方法以及代碼,需要的朋友們可以學(xué)習(xí)下。
    2020-05-05
  • python文件處理--文件讀寫詳解

    python文件處理--文件讀寫詳解

    這篇文章主要介紹了Python 處理文件的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Python模擬三級菜單效果

    Python模擬三級菜單效果

    這篇文章主要為大家詳細介紹了Python模擬三級菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Python下Fabric的簡單部署方法

    Python下Fabric的簡單部署方法

    這篇文章主要介紹了Python下Fabric的簡單部署方法,Fabric是Python下一個流行的自動化工具,需要的朋友可以參考下
    2015-07-07
  • Python 中多態(tài)性的示例和類的繼承多態(tài)性詳解

    Python 中多態(tài)性的示例和類的繼承多態(tài)性詳解

    多態(tài)性通常在類的方法中使用,其中我們可以具有相同方法名稱的多個類,本文給大家介紹Python 中多態(tài)性的示例和類的繼承多態(tài)性詳解,需要的朋友可以參考下
    2023-10-10
  • Python中的pprint折騰記

    Python中的pprint折騰記

    這篇文章主要介紹了Python中的pprint折騰記,本文著重講解pprint的使用,并給出使用實例,需要的朋友可以參考下
    2015-01-01
  • Python多進程編程常用方法解析

    Python多進程編程常用方法解析

    這篇文章主要介紹了Python多進程編程常用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03

最新評論

资兴市| 隆昌县| 东台市| 襄垣县| 辽中县| 嘉鱼县| 茂名市| 滨州市| 五台县| 静宁县| 锡林郭勒盟| 武安市| 灯塔市| 久治县| 夏津县| 中宁县| 平邑县| 永昌县| 砀山县| 九龙坡区| 安仁县| 焉耆| 岢岚县| 云阳县| 盐津县| 大同县| 无锡市| 阿尔山市| 景德镇市| 遂平县| 安图县| 都安| 康乐县| 双柏县| 阿图什市| 阜宁县| 澄城县| 呼图壁县| 兴安盟| 工布江达县| 唐海县|