[DA series - Learn Python with Steem] 是DA(@deanliu & @antonsteemit)關於「從Python程式語言實做Steem區塊鏈的入門」的系列,歡迎趕緊入列學習!
前情提要:[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉!
第#02堂課,我們要從根基開始打底囉:先來學學 變數與資料型態 吧!
Python的變數
今天我們要來介紹在程式語言裡面,一個非常基本也重要的的元素:變數。在程式的運行過程中,變數是一個被操作的主體。我們會利用變數儲存不一樣的資訊,並且彼此交互運算。
例如我們要寫一個程式計算自己的薪水,我們用變數work_hour
來紀錄我們今天工作了多久,用dollar_per_hour
紀錄了一小時的薪水。接著下一步我們透過數學的乘法運算(*)來成功算出一天的薪水,並把它的值存在salary_per_day
這個變數裡面。
注:本篇教學的程式碼可至GitHub/tutorial_2.py中參考或下載。
在上面的語法中,=
的作用就是「賦值」,其實跟小時候寫二元一次方程式x=1, y=2是一樣的。但是程式中我們如果都只使用x, y這種東西當變數名稱的話,我們很快就會忘記他代表的意義了,所以都會在命名上稍微花一點心思,訂一個看了一目了然的名字。
我把這個檔案存檔為example1_variable.py
,一樣利用command line執行之後就會顯示我們一天的工錢:110塊。
得到這個salary_per_day
之後,我們還可以把他拿來做各種事。例如算一週薪水、一個月的薪水、一年的薪水等等。
執行結果:
550
2200
26400
變數的好處還有,寫好這段程式之後,我們只要在程式中改變任何一個變數的值(例如把dollar_per_hour換成10),就可以算出完全不同的結果。這樣我們就可以輕鬆的比較做不同工作,一年賺得錢會差多少了xD
執行結果 24000
。因此知道每個小時多領一塊錢是多麼重要的了吧!
資料型態
在程式語言中,不同變數又會有不同的資料型態(Type),例如有些「年齡是正整數」、「名字是文字字串」等等。這是為了讓程式對於你存在變數裡的資訊有所了解,以便做出正確的運算。
頭昏眼花了嗎?沒關係,看一些幾本例子就會豁然開朗了。
這裡我宣告了my_name
這個變數是一個字串(用'' 或是""括號起來),來儲存Anton這個名字。
my_age
就跟剛剛的薪水一樣,是個未來可能要那來做加減運算的「數字」。
第三個is_married
就比較特別了,是一種叫做布林值(Boolean Algebra)的型態,此類資料只有兩種狀態,即是真或假、True or False。這個True of False
在通常被拿來做判斷用,這個在未來我們學判斷式跟迴圈的時候會特別重要。
現在我們用不同種類的資料來紀錄訊息了,但為什麼要這麼做呢?因為不同種類的資料在一般情況下是不能放在一起運算的。而不同的資料型態也被python定義了不同的運算規則。
例如,我們改變程式碼如下:
我們分別來看看三種資料型態經過乘2之後會變什麼。會發現執行結果為:
AntonAnton
44
0
在python的定義中,字串乘以二把字串重複兩次,所以'Anton'*2 = 'AntonAnton'
。
第二個比較簡單理解,數字的乘法跟我們想像也是一樣的。22 * 2 = 44 。
但最後一個又很奇怪了。原來python在遇到把True or False
拿來做數學運算時,會把他們視為1
and 0
。所以這裡False
*2 被當成了0*2 = 0
,所以output就變成0了。
所以我們可以看出,有些奇怪屬性做奇怪運算會有難以預期的結果,因此在設計程式時應該很清楚每個變數的屬性、意義,才能避免這些可能讓程式壞掉的地方。這也讓我們看出不同變數種類存在的必要性,因為彼此差異頗大,要完成一項任務往往需要這些不同元素互相幫忙。
下一篇介紹判斷式的介紹中,大家應該就可以有更深刻的體會了。
我們下篇文章再見囉~下課!
image - pixabay
忘了交作业啦作业,哈哈
补上。
很棒!各位同學可以去看看這筆記,還補充了不少跟這堂課相關的知識喔!^_^
推好學生!
太多bug了。
果然是有天份丫
改回3.6.5,我懒得开新文件了,在原来的文件下新增代码并运行~
顺带发现没有申明,没有“;”,几乎一行一条代码以回车来分割,我记得好像有一行N条代码的方法,但是我忘记了,懒得找,坐等后面的教程。
区分大小写的节奏,试过把True改成true报错了,哈哈哈!
讚喔! 每行後面不用「;」真的滿方便的啦
学习了,拿好小板凳,做好笔记。^_^
發現代碼大神們都喜歡裝小學生,LOL!
為什麼我當年學的是C++
成績是C的都是去學C++,已經給你跳兩級了。
SOOOOOOO SALLY CAN WAIT!!!!!!!!!!!!!
这比c/c++简单多了
Posted using Partiko Android
真的阿,C++我不敢教,太複雜了。。。
Python真是程式界的救星
果然進步了,簡化了,方便了,這麽快就有第二堂,看來可以一口氣學下來,期待🤓🤓
週末休息一下,讓我兒發個燒。>_<
👍👍👍👍👍👍👍👍💕
WARNINGCONFIRMED SCAM!
DO NOT FOLLOW any instruction and DO NOT CLICK on any link in the comment! - The message you received from @dulborah is a
For more information about this scam, read this post:
https://steemit.com/steemit/@arcange/phishing-site-reported-steem-link-premium https://steemit.com/steemit/@arcange/anti-phishing-war-the-crooks-continue-their-bashing-campaign
If you find my work to protect you and the community valuable, please consider to upvote this warning or to vote for my witness.
今天没更新呀!
Posted using Partiko Android
周末休息不學習啊,同學!😄
Posted using Partiko Android
哦哦。我照常上班,都忘了今天是周末。
祝你周末玩的开心,玩的愉快!
Posted using Partiko Android