Soft_Job 板


LINE

我玩程式語言有時候會遇到一些程式語言本身定義就跟 我自己想做的運算互相衝突的時候。Python的string被 定義為immutable, 可是可以使用index的方式去存取 字元。 比方說: s = "aabbcc" print(s[0]) 執行結果會給我輸出: a 大家在解決問題的時候,常常想的事情好像是繞過這種 問題。就我看來,能以index 的方式存取字元,我就會 誤以為可以直接對字串s 進行修改,像是 s[0] = "b" 這個敘述就不會過。 但知道python的字串是immutable之後,其實我只需要用 s存取資料,再宣告一個s1變數,把s存取的資料進行重新 組合就可以了。 常常都要做這種workaround,而不是能以我最直覺的方 式操作。 然後不同的程式語言,還會有不一樣的定義。我覺得好累 。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.42.235 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1638443613.A.124.html ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:15:54
1F:推 jlhc: 你在說中文嗎... 12/02 19:15
2F:噓 Raymond0710: 這也叫workaround???不就是語言特性 12/02 19:15
如果有程式語言把字串定義為mutable,那就又不一樣了。每個程式語言都有自 己的定義,永遠追不完。 ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:18:21
3F:噓 gasbomb: 有意見自己去發明語言 12/02 19:17
※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:19:43
4F:噓 tbpfs: 這是超新手程度的問題,你來錯版了 12/02 19:21
我在想高手們是不是workaround之後,還能把他們workaround的方式寫成一個 方便使用的function,以後大家遇到一樣的問題就直接拿他們的function用。 對我是新手。 ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:27:48
5F:推 alihue: java: str.charAt(i) 12/02 19:26
6F:→ alihue: python 為了易用確實犧牲了一些嚴謹的設計。如果無法接受 12/02 19:29
7F:→ alihue: 就回去寫靜態語言,可以靠 IDE 的靜態分析省很多地雷 12/02 19:29
8F:推 Sunal: 要不要來寫rust,沒定義好都不給你操作 12/02 19:53
9F:推 wulouise: 我還以為你要自己發PR解bug 12/02 19:53
10F:推 l1724108: 不能用i++,只能用i += 1 wORkaRouND 我覺得好累 12/02 19:54
11F:推 js07150715: 去寫C就沒這種問題 12/02 20:05
12F:推 hduek153: 一台不能飛的車然後你抱怨怎麼不能飛? 12/02 20:08
13F:→ hero32036: 這也可以唸..轉行好了 12/02 20:10
14F:推 nh60211as: ??? 12/02 20:11
15F:推 jhjhs33504: 某些人開發的APP會閃退就是這樣搞 12/02 20:15
16F:→ WaterLengend: 你也想了個workaround不會被刪文但是也沒解決什麼 12/02 20:33
17F:→ WaterLengend: 問題。 12/02 20:33
18F:→ viper9709: 可以考慮包成函式~雖然這樣就違背原語言的特性了... 12/02 20:34
19F:→ DrTech: 哈哈,還好你沒寫過 perl,你會瘋掉 12/02 20:47
20F:推 abccbaandy: 你錯了,高手遇到這問題就會再發明一種新語言,不然 12/02 20:49
21F:→ abccbaandy: 你以為為什麼會有這麼多語言? 12/02 20:49
22F:噓 horsekit: python的字串是mutable 這不是workaround 用改陣列的方 12/02 21:02
23F:→ horsekit: 式改字串習慣很不好 12/02 21:02
24F:噓 leo021566: 唉 12/02 21:17
25F:→ CMJ0121: python的字串是mutable <-- 這是對的嗎? 12/02 21:44
26F:推 Isaea: 寫php啊簡單粗暴 12/02 21:48
27F:→ somefatguy: 你的問題是怎麼會覺得好累,不要一直坐著要多運動 12/02 21:57
28F:→ superpandal: 很多都不直覺沒錯 java就是 一堆以設定當語法的... 12/02 21:59
29F:→ superpandal: 語法即是設定 不然要ide做什麼 根本不好除錯 12/02 22:00
30F:→ superpandal: java底層還ok 一堆框架步步是坑 浪費時間工具鏈 12/02 22:01
31F:噓 Petyr: 你確定你知道什麼叫做workaround? 12/02 22:02
32F:推 DarkIllusion: 看來你把python字串immutable的設計視為一個問題 窩 12/02 22:06
33F:→ DarkIllusion: 覺得不是這樣的 12/02 22:06
34F:→ DarkIllusion: https://reurl.cc/Q6KmOq 12/02 22:06
35F:→ easyman: 每種語言有不同設計哲學,覺得無法了解,就換一種吧。 12/02 22:07
36F:→ superpandal: 有時候真的覺得很感慨 學習學一堆沒實質意義又很累的 12/02 22:14
37F:→ superpandal: 做什麼呢? 12/02 22:14
38F:→ saladim: 此篇前提不對吧 12/02 22:33
39F:→ ssccg: 為什麼能以index存取就要能修改? get和set分開不是很常見? 12/02 22:45
40F:→ ssccg: 你所謂的workaround還是沒有修改到原物件,這只是正常操作 12/02 22:49
41F:→ ssccg: 然後說到直覺,很多人所謂的直覺,其實只是自己最先學的語 12/02 22:56
42F:→ ssccg: 言的特性,自己用有誤會的成見寫錯了再說不直覺 12/02 23:00
43F:噓 Raymond0710: #1XfUPdaE (graduate)考不上研究所比這件事感慨多了 12/03 00:08
44F:噓 KanzakiHAria: 推 12/03 00:42
45F:推 godsparticle: 怎又語言大戰 12/03 08:53
46F:→ shooter555: 說出一句話後 不管再怎麼想改變句子的內容 就是第二句 12/03 09:38
47F:→ shooter555: 話了 所以用新的字串來保存你想改變的新的字串 也沒什 12/03 09:38
48F:→ shooter555: 麼不對 12/03 09:38
49F:→ Qoofate: 這文也太廢了 你還是去7-11好了 12/03 09:39
50F:→ shooter555: 原本的直接用陣列越過保護 才真的是workaround 12/03 09:40
51F:噓 godbye45: 等你發明一套新語言 12/03 11:09
52F:噓 tbpfs: 原來是中文系...http://shorturl.at/lFKPV 12/03 12:30
53F:→ tbpfs: 不過你的中文呢..... 12/03 12:30
54F:→ OrzOGC: 還好我門外漢 不認為這是問題 12/03 12:35
55F:推 vi000246: 我都直接右鍵 格式化硬碟 12/03 13:02
56F:噓 newking761: 可悲 12/03 13:02
57F:噓 me356500: 吐了= = 12/03 13:34
58F:噓 aalexx: 為什麼推數是正的 12/03 14:29
59F:噓 www17010: 原來是上次在研所版被噓爆的朋友,看來你還是轉換跑道好 12/03 15:41
60F:→ www17010: 了 12/03 15:41
61F:噓 sniper2824: 大家都有得噓 真好 12/03 17:09
62F:→ WayneHong: 看他以前的發文真的搞不懂是不是在反串0.0 12/03 17:41
63F:噓 BearFather: 講中文 12/03 17:57
64F:→ rockman037: 以py的特性, 難保有人想在裡面塞多個char,這討論不 12/03 18:52
65F:→ rockman037: 完 12/03 18:52
66F:噓 andy831020: 浪費五分鐘想這到底是不是反串釣魚 12/03 19:06
67F:噓 zipigi: 笑死 到底在供蝦毀 12/03 19:46
68F:推 tvbic: 你第一天寫程式是不是 12/03 20:25
69F:噓 pttano: 你的workaround 想法真特別,你是半桶雞還是新人? 12/03 20:42
70F:→ superpandal: char array確實貼合C 沒有不好 12/03 20:59
71F:推 jhjhs33504: 只能說規模不同做法有差 12/03 22:38
72F:噓 KyGrA: 我覺得去上班的路程都比這些累 參考一下 12/04 04:24
73F:噓 daddy29: ...............你不太適合後端 12/04 18:39
74F:噓 remmurds: 聖光術 12/05 13:23
75F:噓 lonelytea: XD 12/06 03:05
76F:噓 m2938: 這種程度拜託不要再寫code了 12/06 13:10
77F:噓 sarsman: Immutable的中文是不可變的,跟用index讀取不衝突啊 12/06 15:30
78F:噓 brad84622: 阿鬼你砍掉重練吧 12/06 18:04
79F:推 gn01642884: 字串為什麼是immune的是有它的原因 12/06 18:12
80F:→ gn01642884: 可以參考“程式設計師的自我修養”一書 12/06 18:13
81F:→ superpandal: 看來這篇推文是針對樓主的 不過只能說哪有什麼修養 12/06 21:26
82F:→ superpandal: 有名的專案還不是爛的跟什麼一樣 12/06 21:26
83F:噓 ku399999: 你不適合寫程式,轉行吧 12/07 08:12
84F:→ ku399999: 搞不清楚還不懂問人,說別人workaround 12/07 08:13
85F:→ shooter555: 被噓到這樣跟風的應該不少 這種保護的確會造成效率下 12/07 09:24
86F:→ shooter555: 降就是了 12/07 09:24
87F:推 IhateOGC: 先運動吧,整天坐著陷入迷思了 12/10 03:52







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP