[問題] 超級新手python的疑問

作者: ReadSnow (AnnyCat)   2018-05-08 13:35:46
我本身是設計相關科系畢業的,原本只是個偏美術的網站設計師,CSS跟HTML都沒甚麼問
題,但後來發現只是這樣還是很難生存,畢竟網站要能客製化才有價值,一直套樣板去修
改很多情況都很難獨立設計出介面,所以開始去試著自學後端的程式語言。
原本要學的是php,但學到一半發現一個叫codecombat的教學網站,發現還挺喜歡他的教
法的,大量的實做+變換著問法+直觀的code效果,感覺學起來比直接看一般教學網站還清
晰很多,不過他只有提供python,所以我就改學這個了。
只是還是有些疑問,我這的情況是不是學php會好一點? 還是可以繼續學沒關係? 如果我
是單純要自己寫網站的話。
另外,他有些用法雖然我大概記起來了,但是有些用法我還是看不太懂,為什麼要這樣定
義,google完也是更不懂...
def findMostHealth(enemies):
target = None
targetHealth = 0
enemyIndex = 0
while enemyIndex < len(enemies):
enemy = enemies[enemyIndex]
if enemy.health > targetHealth:
target = enemy
targetHealth = enemy.health
enemyIndex += 1
return target
像這段效果是自動找出血最多的敵人,但是target = None的這個定義,想半天都不知道到
底是幹嘛的?
去google也只是說None = Fale的意思...
作者: vi000246 (Vi)   2018-05-08 13:50:00
python比較簡單 但是有時簡化太多會搞不清楚在寫啥像這個target=None是宣告一個變數只是他還沒有值 就先設個None給他
作者: yao (ㄧㄠˊ)   2018-05-08 13:55:00
target=None 就是一開始初始化成"空" 表示還沒找到任何出血敵人...
作者: TuCH (謬客)   2018-05-08 13:56:00
如果不設一個初始化變數 有可能會沒有target 回傳值導致錯誤
作者: yao (ㄧㄠˊ)   2018-05-08 13:56:00
下面找到以後None就不重要了... 如果程式完全沒找到 就會回傳None
作者: xyz102416 (XYZ)   2018-05-08 14:50:00
這樣講也是對的,畢竟如果你初始隨便設一個數字,到時候沒找到那接他的fumction要怎麼知道這個是真的找到的數值還是沒找到的數值? 所以設成一個能夠一眼就看出有沒有找到的變數
作者: TuCH (謬客)   2018-05-08 15:20:00
不過建議用for迴圈 用while容易錯
作者: art1 (人,原來不是人)   2018-05-09 06:28:00
不懂為何用 while 容易錯
作者: bibo9901 (function(){})()   2018-05-09 07:56:00
這是python的缺點之一: 無法宣告變數正確來說是宣告與賦值合一, 無法「單純」宣告變數,所以只好給一個沒什麼影響的值, 習慣上用None.
作者: Yshuan (倚絃)   2018-05-09 10:39:00
就算是c/c++ 也要養成變數宣告與初始化的好習慣阿
作者: uranusjr (←這人是超級笨蛋)   2018-05-09 12:16:00
宣告不賦值幾乎在所有狀況都是壞事, 這算不上什麼缺點同一段用 C 改寫你不賦值寫出 bug 回垃圾值更慘, Python至少還會在正確的地方拋 NameError 給你
作者: vi000246 (Vi)   2018-05-09 13:12:00
python的特色就宣告跟使用變數都長一樣有時候這算缺點 debug會不好看出來
作者: ThxThx (洗洗睡)   2018-05-09 15:21:00
原po應該學JavaScript比較有用吧!??跟已經會的網頁技能比較相關而且前後端都可以寫
作者: adrianshum (Alien)   2018-05-09 22:33:00
不用特地宣告變數有好有壞啦。好處是沒那麼冗長,壞處則是不小心打錯變數名引起的問題可以很難看出來
作者: steven11329 (清新柳橙)   2018-05-12 14:30:00
學js不如學java?還真是第一次看到。基本上現在兩者除了語法類似外,運用領域差的非常多。但是java因為oracle授權的關係,商業上使用的應該會減少。比起來我覺得js還比較有前景。
作者: s860134 (s860134)   2018-05-12 18:51:00
語法完全不類似..JS 取名完全是因為當初 Java 比較紅而已
作者: subi (細雨綿綿細雨)   2018-05-13 16:29:00
如果你要往網頁方面,個人覺得php會比較好,會比較好找到工作另外 Javascript 現在使用越來越多, 未來發展看好
作者: TaiwanFight   2018-05-16 14:26:00
php才是王道php + js 學Java完全是多此一舉了 沒必要學

Links booklink

Contact Us: admin [ a t ] ucptt.com