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

看板Python作者 (AnnyCat)時間7年前 (2018/05/08 13:35), 7年前編輯推噓11(11026)
留言37則, 14人參與, 7年前最新討論串1/1
我本身是設計相關科系畢業的,原本只是個偏美術的網站設計師,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的意思... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.224.49.230 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1525757749.A.374.html

05/08 13:50, 7年前 , 1F
python比較簡單 但是有時簡化太多會搞不清楚在寫啥
05/08 13:50, 1F

05/08 13:50, 7年前 , 2F
像這個target=None是宣告一個變數
05/08 13:50, 2F

05/08 13:51, 7年前 , 3F
只是他還沒有值 就先設個None給他
05/08 13:51, 3F
謝謝,懂了! 所以None就是單純一個沒甚麼意義的變數,後面隨便套都可以

05/08 13:55, 7年前 , 4F
target=None 就是一開始初始化成"空" 表示還沒找到任何出血
05/08 13:55, 4F

05/08 13:55, 7年前 , 5F
敵人...
05/08 13:55, 5F

05/08 13:56, 7年前 , 6F
如果不設一個初始化變數 有可能會沒有target 回傳值導致錯誤
05/08 13:56, 6F

05/08 13:56, 7年前 , 7F
下面找到以後None就不重要了... 如果程式完全沒找到 就會回
05/08 13:56, 7F

05/08 13:56, 7年前 , 8F
傳None
05/08 13:56, 8F
知道了!! 所以難怪google到說有False的意思,原來是沒找到敵人時False的意思。 等等,好像也不對,應該還是單純一個空的初始值而已

05/08 14:50, 7年前 , 9F
這樣講也是對的,畢竟如果你初始隨便設一個數字,到時
05/08 14:50, 9F

05/08 14:50, 7年前 , 10F
候沒找到那接他的fumction要怎麼知道這個是真的找到的
05/08 14:50, 10F

05/08 14:51, 7年前 , 11F
數值還是沒找到的數值? 所以設成一個能夠一眼就看出
05/08 14:51, 11F

05/08 14:51, 7年前 , 12F
有沒有找到的變數
05/08 14:51, 12F

05/08 15:20, 7年前 , 13F
不過建議用for迴圈 用while容易錯
05/08 15:20, 13F

05/09 06:28, 7年前 , 14F
不懂為何用 while 容易錯
05/09 06:28, 14F

05/09 07:56, 7年前 , 15F
這是python的缺點之一: 無法宣告變數
05/09 07:56, 15F

05/09 07:57, 7年前 , 16F
正確來說是宣告與賦值合一, 無法「單純」宣告變數,
05/09 07:57, 16F

05/09 07:58, 7年前 , 17F
所以只好給一個沒什麼影響的值, 習慣上用None.
05/09 07:58, 17F

05/09 10:39, 7年前 , 18F
就算是c/c++ 也要養成變數宣告與初始化的好習慣阿
05/09 10:39, 18F

05/09 12:16, 7年前 , 19F
宣告不賦值幾乎在所有狀況都是壞事, 這算不上什麼缺點
05/09 12:16, 19F

05/09 12:17, 7年前 , 20F
同一段用 C 改寫你不賦值寫出 bug 回垃圾值更慘, Python
05/09 12:17, 20F

05/09 12:17, 7年前 , 21F
至少還會在正確的地方拋 NameError 給你
05/09 12:17, 21F

05/09 13:12, 7年前 , 22F
python的特色就宣告跟使用變數都長一樣
05/09 13:12, 22F

05/09 13:12, 7年前 , 23F
有時候這算缺點 debug會不好看出來
05/09 13:12, 23F

05/09 15:21, 7年前 , 24F
原po應該學JavaScript比較有用吧!??
05/09 15:21, 24F
因為看評論,大部分的人都說學JavaScript不如學Java,而且Java聽說越來越被遺棄了, 就想乾脆學python,不但這個網站有而且聽說未來性高且可替代php。

05/09 15:21, 7年前 , 25F
跟已經會的網頁技能比較相關而且前後端都可以寫
05/09 15:21, 25F

05/09 22:33, 7年前 , 26F
不用特地宣告變數有好有壞啦。好處是沒那麼冗長,壞處
05/09 22:33, 26F

05/09 22:33, 7年前 , 27F
則是不小心打錯變數名引起的問題可以很難看出來
05/09 22:33, 27F
※ 編輯: ReadSnow (61.224.49.230), 05/09/2018 22:53:42

05/12 14:30, 7年前 , 28F
學js不如學java?還真是第一次看到。基本上現在兩者
05/12 14:30, 28F

05/12 14:30, 7年前 , 29F
除了語法類似外,運用領域差的非常多。但是java因為
05/12 14:30, 29F

05/12 14:30, 7年前 , 30F
oracle授權的關係,商業上使用的應該會減少。
05/12 14:30, 30F

05/12 14:31, 7年前 , 31F
比起來我覺得js還比較有前景。
05/12 14:31, 31F

05/12 18:51, 7年前 , 32F
語法完全不類似..
05/12 18:51, 32F

05/12 18:52, 7年前 , 33F
JS 取名完全是因為當初 Java 比較紅而已
05/12 18:52, 33F

05/13 16:29, 7年前 , 34F
如果你要往網頁方面,個人覺得php會比較好,會比較好找到工作
05/13 16:29, 34F

05/13 16:30, 7年前 , 35F
另外 Javascript 現在使用越來越多, 未來發展看好
05/13 16:30, 35F

05/16 14:26, 7年前 , 36F
php才是王道
05/16 14:26, 36F

05/16 14:28, 7年前 , 37F
php + js 學Java完全是多此一舉了 沒必要學
05/16 14:28, 37F
文章代碼(AID): #1QyJSrDq (Python)
文章代碼(AID): #1QyJSrDq (Python)