輕鬆學會Java(一)-關於Java身世的秘密

輕鬆學會Java(一)-關於Java身世的秘密
輕鬆學會Java(一)-關於Java身世的秘密

想要輕鬆學會Java嗎?有些技巧你可要先掌握好哦!(一)

冠軍語言 Java 的身家背景:開發初期差點遭撇棄!

Java 程式語言的雛形在 1990 年代被 Sun Microsystems(昇陽電腦)開發,最初被命名為 Oak,目標設定在家電(電視機、電話、鬧鐘、烤麵包機等)等小系統的程式語言,用來控制家電。

但當時智慧型家電的市場需求相當低,昇陽電腦本想放棄開發該語言,後因網際網路興起,昇揚電腦看見 Oak 在網際網路上應用的前景,於是改造了 Oak,於1995年5月以Java的名稱正式釋出。

之後昇陽電腦被 Oracle 收購,因此 Java 程式語言目前為 Oracle 所有。

Java 語言擁有的平台獨立性,讓你只需編寫一次程式,就可以在許多不同的平台上運行,可說是十分方便!Java 具有跨平台可用、多執行緒(同一時間執行多個以上的事情)、物件導向(開發者在設計軟體時候可使用自訂的類型和關聯操作,讓大型軟體開發案的管理變得更容易,並減少失敗率,增加程式的健全度。)等特性,所以廣獲各大企業青睞,在 TIOBE 熱程式語言榜上已多年數次蟬聯冠軍,包含今年三月也拿到冠軍的寶座。

 


去年與今年的 TIOBE 程式語言榜上,Java 都穩居冠軍寶座。

 

Java 適用於 Google 的 Android OS、PC 等各種 應用程式(如媒體播放器、防毒軟體、網路應用程式、企業應用軟體(即銀行業務)等)的開發,目前已有超過 30 億個設備都運行 Java 程式語言。

來寫第一個 Java 程式吧!

就讓我們開始來撰寫 Java 程式吧! 以下的 Java 範例窗格中,上半部顯示程式碼,下半部則是編譯器,會顯示出「Hello World」的程式結果。

現在,你也能動手撰寫這個程式,步驟如下:

  1. 一、以下的 Java 編譯器介面中,可以分為兩部分:上半部深藍色的區塊可以讓你撰寫程式,中間的淺藍色按鈕按下去即可執行程式,下半部白色的區塊則為程式執行的結果。接下來的步驟中,我們將依照指示,把程式碼 key 入到深藍色的部分。 PS: 第一行的「import java.util.*」請不要刪除,此行為「導入 Java 功用(import java utility)」的宣告。
  2. 在上半部深藍色的部分,我們在第二行輸入以下 Java 程式:
    public class Main {
        public static void main(String[] args) throws Exception {
            System.out.println("Hello World");
        }
    }
  3. 二、按下中間顯示為「Run(Ctrl-Enter)」的淺藍色按鈕來編譯程式
  4. 三、等待數秒後,就可以在下半部白色的區塊中,看見程式的執行結果。如果出現「Hello World」代表你的成功寫了人生中第一個 Java 程式
  5. 四、在以上程式碼中,你還可以把「System.out.println(“Hello World”);」中的 Hello World 改成任何你想要的文字,例如 Hello Java、Hi,Java ,甚至是 Hello Kitty 等等。則執行出來的結果也會有所不同。

在 Java 中,每一行代碼都必須填入於「class名稱 {}」 的大括弧內。如以上例子,我們將所有代碼填入於名稱為「MyClass」的 class 後方的大括弧中。

所有的 Java 程式,都有一個所謂的「起點(或被稱為入口)」,這種方法(method)被稱為「main」。以上例子在「(String[ ] args)」這段代碼的前面,就有出現「main」字眼。另在,隨著「main」出現的關鍵字「public」和「static」,將會在後面幾章做詳細說明。

 

 

 

 

 

推薦文章:
原文出處:APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!


Java、Python…初學者該從哪個程式語言下手?


用Python或Java寫程式時,聽什麼音樂能增加效率?


Python不是蟒蛇,Java是咖啡,奇葩的程式語言命名起源


跟風學Python真的好嗎?有些事情你必須先了解…


掌握Python教學有一套!19個語法報你災!


還不知道這”15種”免費開發工具,別說你學Java!

 

搞不懂Javascript變量命名?問前端工程師就對了!

搞不懂Javascript變量命名?問前端工程師就對了!
搞不懂Javascript變量命名?問前端工程師就對了!

仍然搞不懂Javascript變量命名嗎?看完本篇就會啦!

今天小編要跟大家分享的文章是關於前端工程師要知道的JavaScript變數命名規範,正在從事前端工程師工作的朋友們來和小編一起看一看吧,希望本篇文章能夠對大家有所幫助幫助。

 

JavaScript變數命名規範:只能由英語字母,數字,下劃線,美元符號$構成,並且不能以數字開頭,還不能是JavaScript保留字。

前端工程師工程師必須得要知道的JavaScript變數命名規範

 

下列都是非常正確的變數命名:

 

var haha​​ = 250;

 

var xixi = 300;

 

var a1 = 400;

 

var a2 = 400;

 

var abc_123 = 400;

 

var $ abc = 999;

 

var $ o0_0o $ = 888;

 

var $ = 1000;

 

var _ = 2000;

 

var ________ = 3000;

 

下列所顯示皆是錯誤的命名:

 

var a-1 = 1000; //不能有怪異符號

 

var a @ = 2000; //不能有怪異符號

 

var 2year = 3000; //不能以數字開頭

 

var a = 4000; //不能有怪異符號

 

var a *$$ @ = 5000; //不能有怪異符號

 

var a b = 300; //不能有空格

 

下列的單詞,叫做保留字,就是指說補充當做變數名

 

abstractbooleanbytecharclassconstdebuggerdoubleenumexportextendsfinalfloatgoto

 

implementsimportintinterfacelongnativepackageprivateprotectedpublicshortstaticsupersynchronizedthrowstransientvolatile

 

需要注意大寫字母是可以使用的,並且大小寫敏感。最初Aa為兩個變數。

 

1 var A = 250;

 

2 var a = 888;

 

 

推薦文章:
SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


AI 甩尾技術勝 Ken Block!方程式冠軍車手嘆:要失業了


日推AI手機具「防拍裸照」功能!再拍人工智慧就跟你媽告狀


44歲媽咪順利轉職網頁設計師, 家庭事業都得意


Javascript基礎練習(十八)-創造物件


想要成功搞定網頁前端,就要掌握好JavaScript!


Javascript初學者課程(17)-物件介紹

人工智慧將造反?!別怕,歐盟發布”AI白皮書”規範AI(下)

人工智慧將造反?!別怕,歐盟發布"AI白皮書"規範AI(下)
人工智慧將造反?!別怕,歐盟發布”AI白皮書”規範AI(下)

聽說人工智慧將威脅你我的生活?而歐盟發布”AI白皮書”就是要來對抗它?!(下)

本篇為下篇,上篇請點此連結

隱私規範、歧視爭議……突然缺席的「臉部辨識」

其實早在一月時就已流出部分草案內容,而當時導致 Google 與 Microsoft 各執一詞、隔空論戰的「公共場所人臉辨識禁令」 最終並沒有出現在規範中。

對此維斯塔格回應,歐盟暫時不會採取任何額外限制,並會開始思考該如何從歐盟的層級進行規管。但她也強調,臉部辨識一向飽受爭議,除了個人隱私外,目前的技術下辨識有色人種的準確度普遍不如白人,也讓人擔憂會造成種族歧視。「在人臉辨識技術滿佈我們生活周遭以前,必須對其做出限制。」

對於白皮書沒有規範「臉部辨識」的爭議,也有觀點認為既然《一般資料保護規範》(GDPR)中已有臉部辨識的相關規範,《AI 白皮書》的任務就不在創立新規範,而是應該聚焦於如何實踐。法國數位議會的成員 Theodore Christakis 表示,這表示歐洲執委會尚需時間檢視人臉辨識的問題。

但由於人工智慧涉及層面之廣,這份在 100 天內就從起草到公佈的白皮書,也被質疑格局過窄。鑽研數位權利與規範(Digital Rights and Regulation)的倫敦大學學院教授 Michael Veale 就表示「該白皮書將 AI 視為獨立的系統,沒有確實考量到商業模式、經濟、政治系統等脈絡」。

「中國有數據、美國有錢,歐洲有意志」……台灣有什麼?

AI 白皮書也被認為含有政治意圖。當今世上最前線的人工智慧技術或其他高端科技,由歐盟業者所持有的並不多,與其他科技強國相比在數位經濟時代處於弱勢,故也是期望藉由新政策與規範來扭轉情勢、取回控制權。

美國已在去年二月明令政府將投入更多資源在 AI 的研發推廣與培訓;中國也早在 2017 年就推出《新一代人工智能發展規劃》;而法國則是每年都有 10 億歐元投入 AI 研發經費。

對此,維斯塔格喊出:「中國有數據、美國有錢,而我們有意志。」表示謹守維護民眾權益道路的歐洲,將制約現今獨大的中國、美國科技巨頭。未來這些大型科技公司都必須遵從歐盟規範。

而若看回台灣,即便台灣極具研發人工智慧的基礎實力,但《人工智慧發展基本法》目前依然躺在立法院,沒有國家上位等級的政策,AI 相關產業都將受影響,面臨到相對限縮產業發展等情況。

但,個人如果想在下一波的 AI 產業發展中贏得優勢,等要法案通過才開始準備肯定是來不及的,先充實好開發 AI 的 Python 實力,才能把握住隨時來臨的機會。

 

 

 

 

 

推薦文章:
44歲媽咪順利轉職網頁設計師, 家庭事業都得意


日推AI手機具「防拍裸照」功能!再拍人工智慧就跟你媽告狀


AI 甩尾技術勝 Ken Block!方程式冠軍車手嘆:要失業了


SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


準到嚇死人?!人工智慧能預測爆紅歌外還會寫歌?!


革命啟動!人工智慧結合汽車又將迸出怎樣的火花?(上)


2020哪些職業最搶手?前五名竟然都要會人工智慧?!

人工智慧將造反?!別怕,歐盟發布”AI白皮書”規範AI(上)

人工智慧將造反?!別怕,歐盟發布"AI白皮書"規範AI(上)
人工智慧將造反?!別怕,歐盟發布”AI白皮書”規範AI(上)

聽說人工智慧將威脅你我的生活?而歐盟發布”AI白皮書”就是要來對抗它?!(上)

Google 母公司 Alphabet 執行長皮蔡、蘋果人工智慧資深副總裁吉南德里亞、Facebook 執行長祖克柏等人在 2 月中旬紛紛趕赴歐盟總部所在地。是什麼東西吸引了這些科技巨頭?

原來繼「最嚴個資法」的《一般資料保護規範》(GDPR)後,歐盟執委會頒布了規範 AI 人工智慧的「AI 白皮書」。

▲ 歐盟頒布的 AI 白皮書的第一頁 (點此下載 AI 白皮書)

歷經數月的草擬階段,歐盟人民歐盟執委會(European Commission)終於在 2 月 19 日公布《人工智慧白皮書》(White Paper on Artificial Intelligence)。

此份白皮書揭露了歐盟未來的 AI 政策方向以及使用規範,除了為人民把關、使 AI 應用免於侵犯人權外,還規畫打造一個歐洲共享數據計畫,藉此督促各大科技業者彼此及歐盟政府分享不涉及用戶隱私的大數據資料。

開發、訓練到商業應用 從頭規範到尾的 AI 白皮書

隨著人工智慧研發的進展,各種創新技術像是無人機、人臉辨識、自動駕駛技術、AI 機器人,現今在各領域的應用已十分普及,但日新月異的發展又導致法條規範很難跟上。然而,為確保能安全地使用這些 AI 技術、特別是涉及倫理道德時,法規層面必定得作出相關的規範。

如今歐盟進行通盤審視,這份白皮書將涵蓋人工智慧規範、平台監管和鼓勵企業共享數據等面向。

其中,也首次針對「訓練 AI」祭出了明文限制:

  1. 訓練 AI 的數據資料必須要涵蓋廣泛的人口,避免產生偏見。
  2. 訓練 AI 時,必須詳細記錄 AI 的訓練過程。
  3. 使用者與 AI 互動時,必須告知使用者正在與自動化系統互動,不是真人。
  4. 歐盟以外開發的 AI 可能要重新訓練才能進入歐洲市場,以確保符合歐盟規範。

除了規範訓練 AI 時的細節,其他高風險應用如監控、生物特徵識別等也都另有規範,往後在歐盟國家境內企業都必須遵守。

核心理念:科技不能降低人權與自由

▲ 有「矽谷最難纏敵人」之稱的歐盟執委會副主席維斯塔格起草此次 AI 白皮書

由 AI 引發的資訊安全與隱私權等等爭議,近年越發浮上檯面,而科技發展與人權維護該如何兼顧?這個問題也常常引發不同陣營之間的論戰。

有「矽谷死敵」之稱的瑪格麗特.維斯塔格(Margrethe Vestager)此次也肩負了 AI 白皮書的起草。身為歐盟執行委員會副主席、兼競爭事務專員的她,從控蘋果、罰 Google 到告 Facebook,可說是帶著歐盟對抗科技公司的領頭人物。

而面對 AI 人工智慧,維斯塔格除了保持一貫的謹慎,同時也提醒我們應該嚴陣以待 AI 可能帶來的任何隱憂,並且確保人民的基本權利不會受到侵犯。

譬如無人機和自駕車等 AI 系統必須是透明、可追蹤,且受到人類監督的;所使用的演算法必須是能測試及驗證的;高風險 AI 系統得以無偏見的數據來訓練,確保不會造成歧視,而敦促科技企業必須對外分享自己的資料,是為了打破 Amazon 與 Google 等巨頭的壟斷地位,藉此保障消費者的權益。

打造出值得信賴的 AI 框架,是此份白皮書的核心目標之一。

本篇為上篇,下篇請點此連結

 

 

推薦文章:
日推AI手機具「防拍裸照」功能!再拍人工智慧就跟你媽告狀


44歲媽咪順利轉職網頁設計師, 家庭事業都得意


SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


AI 甩尾技術勝 Ken Block!方程式冠軍車手嘆:要失業了


被叮卻找不到兇手??靠人工智慧追蹤蚊子就對了!!


人工智慧到底有多強大?!甩尾比冠軍車手還精準?!(上)


中國首度研發程式語言”木蘭”,竟是山寨版Python?!

 

Javascript初學者課程(19)-方法

Javascript初學者課程(19)-方法
Javascript初學者課程(19)-方法

本日的JavaScript教學就是要教你關於Javacript中的方法哦!

方法 (Method)

JavaScript 中的「方法 (Method)」也是函式(Function)的一種,但跟之前介紹的「函式(Function)」的最大差別是,「方法 (Method)」被當成物件屬性來存取。 JavaScript 「方法 (Method)」的語法如下:

method名稱 = function() { 此處為要執行的代碼 }

使用以下語法將「方法 (Method)」叫出來:

物件名稱.method名稱()

方法 (Method) 是一種函數,是屬於一個物件。可以使用 this 關鍵字來引用。 this 關鍵字在此用來組為引用當前物件,這意味著前端工程師可以使用它來存取物件的屬性和方法。

定義方法 (Method) ,需在函式建構式內完成,範例如下:

See the Pen Javascript19-method by Tedutw (@Tedutw) on CodePen.

在上述中 JavaScript 範例,我們為新的 animal 物件定義了一個名為「babyName」的方法 (Method)。其方法 (Method)是一個函數,也採用參數名稱「name」,並將它分配給物件的「name」屬性。this.name 是指該物件的名稱屬性。而「babyName」方法將物件的「name」屬性更改為其參數

除了以上提及的方法之外,前端工程師其實還可以在函式建構式之外定義函式,並將該函式與其物件相連。範例如下所示:

See the Pen Javascript19-method-2 by Tedutw (@Tedutw) on CodePen.

 

 

 

 

推薦文章:
SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


AI 甩尾技術勝 Ken Block!方程式冠軍車手嘆:要失業了


44歲媽咪順利轉職網頁設計師, 家庭事業都得意


日推AI手機具「防拍裸照」功能!再拍人工智慧就跟你媽告狀


網頁前端要成功關鍵,就是JavaScript!!


學Java必知15種超好用免費開發工具!


Javascript初學者課程(18)-創造物件

 

人工智慧手機新增”防拍裸照”功能,這下父母總算能安心了!(下)

人工智慧手機新增"防拍裸照"功能,這下父母總算能安心了!(下)
人工智慧手機新增”防拍裸照”功能,這下父母總算能安心了!(下)

自從人工智慧手機新增”防拍裸照”功能後,做爸媽的總算能安心一點了!(下)

本篇為下篇,上篇請點此連結

不止跳出提示、禁止儲存 還會「告訴你媽」

打開手機的相機應用程式時,AI 就會開始分析圖像,並檢查圖像是否「不合宜」,假設偵測到使用者正在拍攝裸露度過高的照片,首先會跳出警告提醒使用者「您無法拍攝此照片」。就算使用者執意要按快門,AI 手機也會直接刪除照片、不留一絲儲存的機會。

除此之外,也可設定是否要發送通知給另一支手機,設定好後即可得到拍照的時間、日期、地點以及照片的馬賽克縮圖等資訊,藉此提醒家長,甚至向家長提示警方的求助辦法。

科技始於人性 AI 背後的人才是最重要的

此次因 AI 而得以防範在青春期的孩子因好奇或一時興起,拍下自己或他人的私密照片,以避免他們做出遺憾終身的行為,成為一道防護網。

水能載舟、亦可覆舟,科技融入生活固然帶來許多方便,技術進步也並非都是壞事,但要記得千萬不要讓科技控制你,而是應該反過來控制科技、利用人工智慧技術來保障與自己與他人的生活。

 

 

 

推薦文章:
44歲媽咪順利轉職網頁設計師, 家庭事業都得意


SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


紅到被山寨!中國自主開發語言「木蘭」竟是抄襲 Python


Python 變身告白神器、還會幫你整理電腦?6 種 Python 隱藏版技能一次學


Python教學入門小技巧,掌握這”19個語法”是關鍵!


2020哪些職業最搶手?前五名竟然都要會人工智慧?!


準到嚇死人?!人工智慧能預測爆紅歌外還會寫歌?!

人工智慧手機新增”防拍裸照”功能,這下父母總算能安心了!(上)

人工智慧手機新增"防拍裸照"功能,這下父母總算能安心了!(上)
人工智慧手機新增”防拍裸照”功能,這下父母總算能安心了!(上)

自從人工智慧手機新增”防拍裸照”功能後,做爸媽的總算能安心一點了!(上)

AI 人工智慧化身私密守門員 日研發智慧手機攔截裸照

▲ 這隻新 AI 「防自拍裸照」手機「Tone e20」廣告請日星坂口健太郎代言,同時也吸引青少年目光。

隨著日新月異的科技發展,智慧型手機可以說是生活必需品了。據日本內閣進行的調查表示,日本 12 歲以下的兒童,已經有一半以上擁有自己的智慧型手機。

但是伴隨手機普及而發達的社交通訊軟體,卻也讓不少涉世未深的兒童及青少年受騙,日本警察廳 2019 年曾統計過去犯案紀錄,指出平均一年就有 1800 名以上的未成年人曾被誘騙拍攝裸照等私密照片,且數字逐年攀升中。

有鑑於此,日本電信商 Tone Mobile 就推出一款裝有「私密照片辨識 」的AI手機,假設使用者嘗試拍攝自己的裸露照片,人工智慧 就會在螢幕跳出警告,若依然堅持按下快門,不僅會拒絕儲存相片、甚至還可以設定通報給爸媽!

全球首款具備 AI 防護相機濾鏡手機 售價 5500 元有找

▲ Tone Mobile 瞄準年輕客群,長期與日本知名男演員坂口健太郎合作拍攝廣告。

其實早在 2017 年,Tone Mobile也曾推出以 12 歲以下兒童為目標用戶的手機,能設定指定時段、甚至透過 GPS 設定在特定地點時切斷網路。

而 Tone Mobile 這次針對青少年族群的新手機「Tone e20」設計了精緻的外型,配有 6.26 吋螢幕、Android 9 作業系統、1300 萬畫素三鏡頭、4GB RAM 與 64GB 儲存空間,支援指紋及人臉辨識。而作為中低階機款,售價為 19,800 日圓(約新台幣 5,433 元)。

當然僅有以上規格不足以讓 Tone e20 獨樹一幟,其獨特之處在全世界第一個「AI 照相過濾」功能。為此 Tone Mobile 特別成立智慧型手機安全實驗室,除了分析特定族群的使用習慣外,同時也研發人工智慧技術,透過人工智慧辨識來實現「守門員」的作用。

本篇為上篇,下篇請點此連結

 

 

 

 

推薦文章:
44歲媽咪順利轉職網頁設計師, 家庭事業都得意


SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


Python 變身告白神器、還會幫你整理電腦?6 種 Python 隱藏版技能一次學


紅到被山寨!中國自主開發語言「木蘭」竟是抄襲 Python


人工智慧時代到,Python你不能不知道!!(上)


汽車大革命!到底人工智慧對它們做了什麼?!(上)


人工智慧定位蚊子快狠準,打蚊子不再是苦差事!!

 

人工智慧到底有多強大?!甩尾比冠軍車手還精準?!(下)

人工智慧到底有多強大?!甩尾比冠軍車手還精準?!(下)
人工智慧到底有多強大?!甩尾比冠軍車手還精準?!(下)

人工智慧真的無所不能!甩尾技術竟然比冠軍還要厲害耶!!(下)

本篇為下篇,上篇請點此連結

▲ AI 甩尾讓美國 Formula Drift 世界甩尾冠軍 Fredric Aasbo 感嘆:要失業了(圖片取自網路)

就連 2015 年美國 Formula Drift 職業飄移錦標賽的世界甩尾冠軍 Fredric Aasbo,也對 MARTY 的高難度甩尾印象深刻,說:「在這種操控上,機器人可能會比我們人類做的更好」,甚至半開玩笑道:「我要失去我的工作了!」

自駕車做得比真人車手更好?全因有 AI 加持

MARTY 穿梭於跑道中的模樣,也許會讓某些人想起有「甩尾天王」、「飄移大師」、「磚叔」等稱號的 Ken Block,其實團隊確實是想向 Ken Block 的 Gymkhana 系列影片致敬,也將用來測試的這條賽道命名為 MARTYkhana。

▲ Ken Block 於天門山的甩尾影片

然而,即便是已經親自出演十多部 Gymkhana 影片的 Ken Block 本人,對賽道和車體掌握的精確程度,可能也無法和自動駕駛車 MARTY 相比。

但此絕非質疑 Ken Block 的技術,只因自駕車 MARTY 有 AI 加持:

真人車手是需用肉眼去看速表,傾聽引擎催動、輪胎摩擦的聲音,用身體去感受離心力,再把這些資訊匯集到大腦整合,最後再做出反應;但對於 AI 甩尾而言這似乎不成問題,因智慧車載系統可以整合從感測器中讀取的精確數據,如車速、各輪的當前扭矩數值、前輪的轉向角度,以及車輛的前進方向和車身之間的偏航角度等等。

除此之外,AI 還能衍伸出車輛自動輔助駕駛系統、駕駛人瞌睡警示、防撞預警、車載自我診斷系統(OBD)、胎壓檢測裝置(TPMS)、車道偏離警示系統(LWDS)、前方碰撞預警系統(FCWS)及後方碰撞預警系統等 AI 人工智慧車(Smart Car)等等相關應用。

並非為了比快 而是要讓自駕車更加安全

史丹佛大學團隊總結 MARTY 的測試經驗與結果,發表了一篇論文〈朝著超越穩定極限的自動駕駛控制邁進:沿著一般道路漂移〉,敘述團隊進行這項研究的目的,其實是為了讓自駕汽車更加安全,更適合實際上路。

MARTY 的技術假設能夠成熟,代表著自動駕駛可以在極端狀態下控制車輛,離自駕車商業化又邁進了一步。即使職業車手會因 AI 而自開玩笑「擔心失業」,換個角度想,反之創造 AI 的話想必就不會失業了吧。

 

 

 

 

 

 

推薦文章:
紅到被山寨!中國自主開發語言「木蘭」竟是抄襲 Python


44歲媽咪順利轉職網頁設計師, 家庭事業都得意

Python 變身告白神器、還會幫你整理電腦?6 種 Python 隱藏版技能一次學


SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


偷偷告訴你,6種Python超好用隱藏版功能!(上)


人工智慧定位蚊子快狠準,打蚊子不再是苦差事!!


捕蚊燈落伍啦!靠人工智慧告訴你蚊子在哪裡!!

人工智慧到底有多強大?!甩尾比冠軍車手還精準?!(上)

人工智慧到底有多強大?!甩尾比冠軍車手還精準?!(上)
人工智慧到底有多強大?!甩尾比冠軍車手還精準?!(上)

人工智慧真的無所不能!甩尾技術竟然比冠軍還要厲害耶!!(上)

 

▲ 如此極致精準的甩尾角度,你能猜出是來自哪一個賽車手嗎?

影片中一台銀白色的舊式跑車,以極致精準的角度,迅速穿越了一個又一個橘色三角錐組成的羊腸小徑。輪胎因急速馳騁於路面產生劇烈摩擦,導致瀰漫出濃烈白煙的幾乎要掩蓋視線⋯⋯而這台車通過這條既狹窄又彎曲的彎道時,竟然完全沒有擦撞到任何一個三角錐!

這麼無懈可擊的甩尾技術,究竟是來自美國的「甩尾大師」Ken Block 、日本的「甩尾王」土屋圭市,還是電影《玩命關頭》下一集的特效?

都不是!這個完美的甩尾,竟然是來自美國的世界名校史丹佛大學!

史丹佛大學「回到未來」 搶先研發出甩尾自駕車

「讓 AI 甩尾」的野心來自 2015 年美國史丹佛大學動力設計實驗室,教授 Chirs Gerdes 帶領、該校機械工程學博士 Jonathan Goh 主導開發的一項專案,將這輛外型搶眼的跑車改裝成人工智慧主導自動駕駛車輛。

有趣的是他們選中了現實中已停產許久,卻因經典科幻電影《回到未來》而讓不少影迷惦記的「DeLorean 鷗翼雙門跑車 DMC-12」來改裝成電動車,並裝上人工智慧自動駕駛系統,也因此吸引了不少目光,使專案備受注目。

 

▲ 使丹佛大學將電影《回到未來》中出現的跑車 DMC-12 改裝成 AI 自駕車

即使許多人因 DeLorean DMC-12 燒胎AI甩尾「重出江湖」而大感興奮,但團隊的研究目的可是非常嚴肅的,這項專案旨在研究自駕車能否比擬人類駕駛的敏捷性與精確度,在遭遇突發狀況時可否化險為夷、轉危為安。

而之所以選擇甩尾,Jonathan Goh 表示:「透過甩尾,我們讓自動駕駛進入到最為極端的環境當中。如果我們能夠在最不穩定的場景中實現自動駕駛,其他的一切都迎刃而解了。」

▲ 開發團隊的教授與成員解釋,如何讓自駕車和專業車手一樣甩尾

選定 DMC-12 作為實現這個重要目標的載體之後,團隊為它取名 Multiple Actuator Research Testbed for Yaw control (偏航控制多執行器研究試驗),簡稱 MARTY。

緊接著就是讓這台車煥然一新──動力與驅動系統被換成由電動汽車公司 Renovo 提供的電動馬達與電池組,轉向、制動也都被電子系統取代;再來就是將它改造成適合甩尾的車輛,原本的懸吊系統支撐性不夠,無法在甩尾中保持良好動態,於是團隊針對這部分重新設計,並加裝防滾籠(Roll Cage)來強化車體剛性,確保發生碰撞時的安全保護。

而自動駕駛系統則是採用雙 GPS 高精地圖,將駕駛路徑的誤差控制在僅僅 1 英吋內。AI 控制的剎車與轉向系統極其精確,以實現更精準的甩尾控制。

這一切讓 MARTY 實現了高難度的甩尾技能!

▲ MARTY 精彩的繞 8 甩尾影片

團隊選在北加州賽車勝地 Thunderhill Raceway Park 賽道進行試跑,從影片中可以看見,團隊以三角錐鋪設出 1 公里的障礙跑道,而 MARTY 最終以時速 50km/h、正負 40 度的角度不斷側滑,完美通過甩尾考驗。

而這個成果也隨即傳遍了賽車界,美國甩尾界名門 Papadakis Racing 車隊隊長 Stephan Papadakis 表示:車輛動力的總成設計和安裝,以及自動駕駛系統的程式設計令他印象非常深刻,特別是 MARTY 穿過同個彎形採用的姿態,都始終準確無誤。

本篇為上篇,下篇請點此連結

 

 

 

推薦文章:
SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


紅到被山寨!中國自主開發語言「木蘭」竟是抄襲 Python

Python 變身告白神器、還會幫你整理電腦?6 種 Python 隱藏版技能一次學


44歲媽咪順利轉職網頁設計師, 家庭事業都得意


Python教學入門小技巧,掌握這”19個語法”是關鍵!


被叮卻找不到兇手??靠人工智慧追蹤蚊子就對了!!


人工智慧產業大革命!!跟上潮流都要會Python?!(上)

Python教學入門小技巧,掌握這”19個語法”是關鍵!

Python教學入門小技巧,掌握這"19個語法"是關鍵!
Python教學入門小技巧,掌握這”19個語法”是關鍵!

Python教學就要教你19個超實用的語法哦!

 

很多人聽說Python程式簡單易學,前景好薪酬高,所以就想快點入門Python程式,有方法嗎?有套路嗎?當然有,不過要快速入門Python程式,我覺得這19個語法是第一站!

Python的特點

解釋型語言,無需編譯即可運行

提供了交互式命令行

基於對象的程式思想

跨平台和良好的兼容性,在WindowsMacLinux上都可運行

簡單好用而且功能強大

01中文編碼

很多同學在打開數據時會遇上亂碼問題,其原因是字符集的編碼問題。 LinuxMac默認的編碼集是UTF8,而Windows則是ASCII。如果數據編碼的字符集,和你使用Python進行處理時所用的字符集不同,則會出現亂碼問題。

另外,我個人的習慣是在Python代碼的頭部加入以下內容,其中第二行聲明了使用UTF8字符集。

#!/usr/bin/env python# coding:utf8

02變量

Python中的變量可以看作是一個個容器,裡面存放著我們需要使用到的值。

Python對變量名的要求和其他語言一樣:可以包括英文、數字以及下劃線,但不能以數字開頭,區分大小寫。當然我推薦,變量名用純英文就很好,並且取一些有意義的名稱,便於自己理解每個變量的作用。

說實話,Python教學算是一門弱類型的語言,在使用變量時無需聲明其類型。 Python中的變量包括以下幾類:數值、字符串、列表、元組、字典。

03數值

數值包括整型和浮點型,分別對應整數和浮點數,後者精度更高。

#整型a = 1#浮點型b = 2.1print a, b

04字符串

字符串也就是我們經常接觸到的文本,可以往裡面放任意長度的內容,用單引號或雙引號括起來。應當注意,中文以及中文符號只能出現在字符串內,如果在下面第三行中使用了中文輸入法的逗號,Python將報錯。

c = Hello d =你好print c, d

使用+可以拼接兩個字符串。

print c + d

使用len()可以得到字符串的長度。

print len( Hello World )

使用切片可以訪問字符串中的某個字符或某個片段。

#位置下標從0開始c = Hello World #打印結果為H,下標為0表示第一個字符print c[0]

#打印結果為d,下標為負數表示從後往前數#所以– 1表示倒數第一個字符print c[-1]

#使用:返回一個片段,冒號前後分別為開始下標和結束下標#包括開始下標,但不包括結束下標

#因此c[1:5 ]表示,返回下標從14的片段,即第二個到第五個字符print c[1:5]

#冒號前後的下標同樣可以使用負數

#或者不提供,表示從最左端開始或一直到最右端print c[1:-1], c[:5], c[3:]

05列表

列表好比一條隊伍,裡面依次存放著多個變量。列表和字符串類似,但字符串中的每個元素都是字符,而列表中的每個元素可以是任意類型的變量。

#使用[]定義一個空列表,使用append()向列表尾部添加一個元素

#如果要添加到首部,就用prepend()好了a = []a.append(1)a.append(2.1)a .append( Hello )print a

使用len()可以獲得列表的長度。

print len(a)

列表元素的按下標訪問和賦值等操作,和字符串都是類似的。

print a[1], a[-1]a[1] = 100print a

使用del刪除列表中的某個元素。

del a[0]print a

06元組

元組和列表類似,唯一的不同是元組中的元素在初始化之後不能再更改,因此可以理解成一個只讀的變量。

#使用()定義一個元組a = (1, 2.1, Hello )#嘗試修改元組中的元素會報錯a[0] = 100

07字典

字典是一種極為重要的變量類型,使用一個key來訪問相應的value,即一種鍵值對的數據形式。

#使用{}定義一個字典a = {}#使用key來賦值valuea[ k1 ] = 1a[ k2 ] = 2.1a[ k3 ] = Hello

所以能夠總結出字典和列表的不同。列表中的元素是有序對等的,所以是用下標來賦值和訪問,而字典中的元素是無序的,所以是用key來操作相應value

#也可以在定義字典和列表的同時進行賦值li = [1, 2.1, Hello ]di = { k1 : 1, k2 : 2.1, k3 : Hello }

使用has_key()判斷字典中是否有某個key

print di.has_key( k4 )

如果訪問不存在的keyPython將會報錯。在賦值的時候,如果key已經存在,則會用新的value覆蓋已有的value

08註釋

被註釋的代碼是不會運行,可以看作是寫給自己和其他程序猿閱讀的一些筆記和說明,藉此提高代碼可讀性。

#這裡是單行註釋這裡是很多行註釋

Sublime中,選中需要註釋的內容,按Ctrl+/即可完成註釋。

09保留字符

Python中,其實有一些字符串具有某些特定功能,如import class等。我們在選擇變量名時,應注意避開這些保留字符。

#以下變量賦值將報錯import = 1

10行和縮進

Python中,代碼塊的邊界不是通過大括號等符號進行顯式劃分,而是通過行的縮進實現的。連續相同縮進水平的代碼處於同一個代碼塊,在使用for while if try等語法時需要注意每行代碼的縮進。

11運算符

運算符的作用是根據已有的變量生成新的變量,主要有以下幾種:

算術運算符:+*/%,即加、減、乘、除、取餘

比較運算符:==!=><>=<=,即等於、不等於、大於、小於、大於等於、小於等於

賦值運算符:=+=-=*=/ =%=,即賦值、加賦值、減賦值、乘賦值、除賦值、取餘賦值

邏輯運算符:andornot,即與、或、非

a = 1b = 2print a + bprint a == b#等價於a = a + 3a += 3print ac = Trued = Falseprint c and d

12條件在寫代碼的時候,往往需要根據某些條件進行判斷,並根據判斷結果執行不同的分支代碼。

a = 1#單個條件if a == 1: print 11111#處理條件不成立的分支if 

a == 2: print 22222else: print 33333#多個條件,加多少個都可以if 

a == 1: print 11111elif a == 2: print 22222else: print 33333

需要注意的是,但凡出現了ifelif ,就需要加上相應的條件判斷,並且注意代碼的縮進。在Sublime中輸入if會出現相應的提示,可以方便地補全代碼,在換行時光標也會自動跳到合適的縮進處。

13循環

如果需要打印從1100100個數,肯定不會傻傻地寫100print代碼,而是會用循環來處理類似的重複性工作。

14 while循環

while循環的思想是,只要某一條件成立,就不斷執行循環體裡的代碼,直到條件不再成立。

flag = 1while flag < 10: print flag    

#一定要記得在循環體裡修改條件變量    

#否則可能導致死循環flag += 1

15 for循環

for循環的循環次數一般是事先預知的,將一個標誌變量從某個起始值迭代到某個終止值後即結束。

# x0開始,一直到9結束for x in xrange(0, 10): print x

可以用for循環方便地遍歷列表和字典。

li = [1, 2.1, Hello ]dict = { k1 : 1, k2 : 2.1, k3 : Hello }

#遍歷列表,這裡的item只是一個臨時變量,取別的名稱也行for item in li: print item

#遍歷字典的全部key,這裡的key也只是一個臨時變量,名稱不重要for key in dict.keys(): print key

#遍歷字典的全部value,這裡的value也只是一個臨時變量,名稱不重要for value in dict.values(): print value#同時遍歷keyvaluefor key, value in dict.items(): print key, value

16循環控制

循環控制主要包括三種: pass continue break

pass表示什麼也不做,只是佔一行代碼的位置;continue表示立即退出本輪循環,繼續執行後續輪循環;break表示立即推出循環,後續循環也不再執行。

for x in xrange(0, 10): if x == 5: pass else: print xfor x in xrange(0, 10): if x == 5: continue print xfor x in xrange(0, 10): if x == 5: break print x

17時間

在處理數據時,很多地方都會涉及到時間,例如數據產生的時間。先介紹一下時間戳的概念,時間戳指的是從197011000秒開始,到某一時刻所經歷的秒數,可以是整數或者小數,後者的精度更高。

為什麼需要時間戳這樣的一個概念?因為對於同一個時刻,不同人的描述可能不同,畢竟文本的形式千變萬化,而時間戳使得時間的表達得到了統一,每個時刻只能用唯一的整數或浮點數來表示,同時也便於計算時間差這樣的處理。

#來看一下當前時刻的時間戳吧import timet = time.time()print t, type(t)

關於時間戳,最常用的處理便是時間戳和時間文本之間的轉換,例如將20161011000秒轉為時間戳。

import time#時間文本轉時間戳,精確到秒a = 2016-10-01 10:00:00 a = int(time.mktime(time.strptime(a, %Y-%m-%d %H:% M:%S )))print a#時間戳轉時間文本b = int(time.time())b = time.strftime( %Y-%m-%d %H:%M:%S , time.localtime (b))print b

其中, %Y %m等都是時間字段,前者表示四位的年份,後者表示兩位的月份。

文件

文件操作包括向文件中寫內容,以及從文件中讀內容,使用open()打開一個文件。

#寫文件#重新寫模式,打開文件時會將文件內容清空fw = open( data.txt , w )#追加寫模式,打開文件後保留原始內容,繼續寫入for x in xrange(0, 10) : #將整數轉成文本再寫入fw.write(str(x)) #也可以每次寫入之後換行,

為轉義字符,表示換行# fw.write(str(x) +  

 )fw.close ()#讀文件fr = open( data.txt , r )#一行一行地讀,line只是個臨時變量,取別的名稱也行for line in fr: print line #如果每行後面有換行,可以將換行符去掉,使內容更緊湊# strip()可以去掉字符串兩端的空白字符# print line.strip()fr.close()

18異常Python代碼中可能會出現一些可以預知的問題。

例如字典訪問的key不存在。如果不加處理,發生問題的時候Python便會報錯並退出,可能之前跑了很久又要重頭再來。因此,我們需要對可能出現的異常進行捕捉和處理。異常的結構由try except else finally四部分組成。

try: #嘗試執行這些代碼print 1 / 0except Exception, e: #如果出現異常就進行處理# e為出現的異常類型print eelse: # try裡的代碼沒有出錯#可以執行後續工作了print沒有出錯finally: #無論是否出錯,都會執行的代碼print一定會執行

19函數

函數的作用是代碼模塊化,將可以重用的代碼封裝成一個函數,這樣在需要使用的時候就只需調用寫好的函數即可,而不用再重新寫一遍代碼。

函數的使用包括兩個部分,函數的定義和函數的調用。除此之外,函數可以有一個或多個參數,參數之間以逗號分開,為函數的功能提供更多的靈活性。

#定義函數def hello(name1, name2): print Hello + name1 + + name2#調用函數hello( Python ,  JavaScript )

感謝您的閱讀,以上就是為您分享的如何快入門Python教學程式的第一站——19個語法,你學會了嗎?更多Python相關的內容盡在達內Python培訓機構官網,敬請關注!

免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

 

 

 

推薦文章:
SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


擺脫設備工程師血汗職涯, 零基礎的我成功轉職 Python 資料工程師


AI 甩尾技術勝 Ken Block!方程式冠軍車手嘆:要失業了


44歲媽咪順利轉職網頁設計師, 家庭事業都得意


汽車的人工智慧革命開始!AI 如何引發各家汽車廠牌的技術革新?


學完Python然後呢?其實這”四大領域”需要你!!


中國自主開發語言”木蘭”被爆抄襲Python?!


人工智慧產業大革命!!跟上潮流都要會Python?!(上)