自學Python好輕鬆!學會這6種數據類型就行!

自學Python好輕鬆!學會這6種數據類型就行!
自學Python好輕鬆!學會這6種數據類型就行!

自學Python真的一點也不難,首先要先認識這6種數據類型!

今天小編要跟大家分享的文章是關於Python自學知識-Python中的數據類型有哪些?如果你正在自學Python知識的話,就來和小編一起看一看吧,希望今天的介紹能夠對大家有所幫助! Python教學中主要有8種數據類型:number(數字)、string(字符串)、list(列表)、tuple(元組)、dict(字典)、set(集合)、Boolean(布爾值)、None(空值)。其中Python有六個標準的數據類型,下面我們一起來看一看吧!

 

1、字符串

字符串的聲明有三種方式:單引號、雙引號和三引號(包括三個單引號或三個雙引號)

>>> str1 = ‘hello world’

>>> str2 = “hello world”

>>> str3 = ”’hello world”’

>>> str4 = “””hello world”””

>>> print str1

hello world

>>> print str2

hello world

>>> print str3

hello world

>>> print str4

hello world

 

2、數字Python3支持三種不同的數值類型:

整型(int) 通常被稱為是整型或整數,是正或負整數,不帶小數點。 Python3整型是沒有限制大小的,可以當作Long類型使用,所以Python3沒有Python2Long類型。浮點型(float): 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示 。複數( (complex)) : 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

 

3、列表

Python教學中,列表是一種可修改的集合類型,其元素可以是數字、string等基本類型,也可以是列表、元組、字典等集合對象,甚至可以是自定義的類型。其定義方式如下:

>>> nums = [1,2,3,4]

>>> type(nums)

<type ‘list’>

>>> print nums

[1, 2, 3, 4]

>>> strs = [“hello”,”world”]

>>> print strs

[‘hello’, ‘world’]

>>> lst = [1,”hello”,False,nums,strs]

>>> type(lst)

<type ‘list’>

>>> print lst

[1, ‘hello’, False, [1, 2, 3, 4], [‘hello’, ‘world’]]

 

4、元組

元組類型和列表一樣,也是一種序列,與列表不同的是,元組是不可修改的。元組的聲明如下:

lst = (0,1,2,2,2)

lst1=(“hello”,)

lst2 = (“hello”)

print type(lst1) #<type ‘tuple’>只有一個元素的情況下後面要加逗號 否則就是str類型

print type(lst2) #<type ‘str’>

 

5、字典

字典是另一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值key=>value對用冒號:分割,每個鍵值對之間用逗號,分割,整個字典包括在花括號{},格式如下所示:

>>>dict = {‘a’: 1, ‘b’: 2, ‘b’: ‘3’}

>>> dict[‘b’]

‘3’

>>> dict

{‘a’: 1, ‘b’: ‘3’}

 

6、集合

集合(set)是一個無序的不重複元素序列。可以使用大括號{ }或者set()函數創建集合。注意:創建一個空集合必須用set()而不是{ },因為{ }是用來創建一個空字典。創建格式:

a={‘a’,’b’,’c’,’d’}

b=set(‘abcdefabcd’)

c=set({‘a’:1,’b’:2})

d=set([‘a’,’b’,’c’,’a’])

print(a,type(a))

print(b,type(b))

print(c,type(c))

print(d,type(d))

#運行結果

{‘c’, ‘d’, ‘b’, ‘a’} <class ‘set’>

{‘f’, ‘e’, ‘b’, ‘c’, ‘d’, ‘a’} <class ‘set’>

{‘b’, ‘a’} <class ‘set’>

{‘c’, ‘b’, ‘a’} <class ‘set’>

 

以上就是小編今天為大家分享的關於Python自學知識,希望本篇文章能夠對正在自學Python的朋友們有所幫助。想要了解更多Python相關知識記得關注達內教育官網 Python 課程,最後祝朋友們學習成功!

 

 

 

推薦文章:
JavaScript入門教學#21|陣列的方法與屬性


今年10月即將入手的新身分證,它的UI設計有啥亮點?


你是我的眼!Google AI 眼鏡助視障朋友「看見」世界


JavaScript入門教學#22|數學物件


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


學會Python只能當工程師?你還有更好的選擇..


事半功倍?搞定Excel背後神隊友竟是Python?!

19個語法搞定好,學習Python沒煩惱!

19個語法搞定好,學習Python沒煩惱!
19個語法搞定好,學習Python沒煩惱!

學習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

需要注意的是,但凡出現了 if elif ,就需要加上相應的條件判斷,並且注意代碼的縮進。在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)

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

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教學中,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 )

 

 

 

 

推薦文章:
你是我的眼!Google AI 眼鏡助視障朋友「看見」世界


今年10月即將入手的新身分證,它的UI設計有啥亮點?


JavaScript入門教學#22|數學物件


JavaScript入門教學#21|陣列的方法與屬性


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


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


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

 

科技始於人性!最新版UI設計身分證10月份問世!(下)

科技始於人性!最新版UI設計身分證10月份問世!(下)
科技始於人性!最新版UI設計身分證10月份問世!(下)

科技始於人性!最新版UI設計身分證10月份問世!(下)

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

卡面設計簡約質感,劃出你的隱私空間

新式身分證除了極簡風的 UI 介面之外,到底還有哪些亮點呢?

翻翻我們手中的現有身分證吧!現有的卡面樣式是 14 年前的設計,在今日文武百業都數位化的時代,早已不適合現況使用。政府為展現數位化決心、並因應逐日被重視的個資隱私,卡面與功能都已大幅變化,讓我們逐一細說如下:

一、隱私保護升級、遺失也不怕洩個資

除充滿質感的外觀,資訊呈現上也做不少調整。伴隨著個資保護意識抬頭,新版 ID 的 UI 介面一改過去拿出身分證便個資全都露的尷尬感,會將大多數的個人資訊儲於晶片內。

新式 ID 僅會保留個人基本資料:姓名、身分證字號、出生日、人像等,至於其他更私密的資訊如父母姓名、出生地等,都於晶片內加密保護,且需經本人同意、輸入身分證後 6 碼及自訂的 2 組密碼後,機關才能讀取資料。

萬一不小心遺失身分證,更可直撥「1996」專線掛失,自然人憑證就立即停用!失主也可申請紙本臨時證明,供掛失補辦期間使用。

而原有的身分證因為有密碼保護機制,所以毋需擔心晶片內容被讀取、盜用; 而晶片則是封裝後無法再取出、無法被側錄或複製偽造。

除此之外,數位身分證沒有儲存的功能,所以使用時不會留下紀錄,避免被第三方監控,真正保障各資安全。

二、兼具駕照健保卡功能,還可綁定手機!

今年 10 月後,假設數位身份證執行狀況順利的話,政府將進入開發「行動身分證 APP」的階段,並將身份證與健保卡、駕照等證件「多卡合一」!如此一來,出門就真的不用帶一堆證件在身上,無論是要看病、驗車、遇到警察臨檢等等,只需一機在手便可搞定要各項大小事,是不是很方便!

三、辦事不用往外跑,數位 ID 網上搞定!

身分證數位化的最大特點就是,任何需要證件才能辦理的業務,也都同步數位化,能在線上直接辦理。透過政府骨幹網路 (T-Road) 串接政府各機關、部門的獨立系統資料股,民眾最快在今年 10 月之後,就能在網路上辦理公投連署、健保、社福、津貼、勞保、年金、護照簽證等 16 項業務!這樣就不需要為了印身分證、臨櫃申辦事務而東奔西跑了

新版身分證不僅在 UI 介面的設計有乾淨利落、資訊分明的特點,更在技術、使用、便民性上有著巨大的突破!未來在其他功能上的結合,更是指日可待!就讓我們一同期待 10 月份新卡的蒞臨吧!
 

 

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


JavaScript入門教學#18|創造JavaScript物件(Objects)


差點被拋棄的冠軍程式語言-Java入門教學(一)
Java 身世之謎/寫出第一個Java程式


你是我的眼!Google AI 眼鏡助視障朋友「看見」世界


落實”數位優先”只靠UI?!看看奧迪跟福斯怎麼辦到的!!(上)


UI設計與”數位優先”的完美結合-福斯篇


UI/UX不單單只是設計?!還搞心理學?!

科技始於人性!最新版UI設計身分證10月份問世!(上)

科技始於人性!最新版UI設計身分證10月份問世!(上)
科技始於人性!最新版UI設計身分證10月份問世!(上)

新版UI設計的身分證預計10月問世,聽說會讓生活更便利!?(上)

睽違14年,今年10月即將入手的 eID,新功能你期待嗎?

還記得在 2018 年內政部舉辦的「新版身分證」設計競賽嗎? 當時任職 HTC,參與 HTC Sense UI 介面設計與 HTC Themes 設計的魯少綸,他的作品「形|SHAPE」以簡潔的 UI 廣獲評審們青睞,獲得「設計獎」,更成為新式身分證的設計依據呢。

▲ 新身分證得獎做品:左圖為設計獎、右圖為人氣獎

不過在網路票選過程中,「形|SHAPE」卻僅僅獲得 46 票,與獲得近 10 萬票卻只得了一個「人氣獎」的作品「嶼民在地」票數相差懸殊,引發網友們不滿。「不禮貌鄉民團」在臉書上貼出比較,質疑為何 9 萬 6 千票的作品卻輸給僅有 46 票的作品,引發激烈論戰。

對於爭議不斷的新身分證競賽結果,設計師聶永真表態:千萬不要用民粹霸凌設計獎得主!究竟新式身分證除了極簡風的 UI 介面之外,到底還有哪些亮點,值得設計師為它發聲呢?

新身分證 UI:高延展性、整齊易讀、具包容性,獲評審青睞

▲ 新身分證版面切成單純的左右兩塊,給予長短不一的字數有很大的延展性,版面也更整齊易讀。

左右區塊排版,簡潔易讀

據「身分證再設計官網」所寫的官方勝選理由,「形|SHAPE」以整齊的排版勝出。其實由上圖不難發現:「形|SHAPE」無論是正面、反面,都只有切成單純的左右兩個區塊。正片的左區塊約佔了整體版面的 2/3、背面則占了約 3/4。

延展性強:無論文字多長都能排進去!

作者將姓名、地址以及「中華民國國民身分證」的中英文字樣⋯⋯等等字數較多的資訊,巧妙的置於較大的左區塊,讓整張身份證有整齊分明的排版;且左區塊的文字內容有足夠的空間可以延展,因此不管地址、姓名的長度有多長,都能在雙語的排版上明暸易讀。

低調呈現台灣意象 質感律動感都到位

另外,作者也將代表台灣土地的圖樣,低調的詮釋在細節中:身分證簡約的白底,搭配玉山山脈的等高線圖的壓紋,上頭還印有台灣島狀的光影變化箔膜。對比其他直白地使用具體的台灣島外型、101 等圖樣,兼具律動感與藝術感的等高線線條作為背景,確實是十分令人玩味的呈現方式。

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

 

 

 

推薦文章:
JavaScript入門教學#18|創造JavaScript物件(Objects)


APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!


差點被拋棄的冠軍程式語言-Java入門教學(一)
Java 身世之謎/寫出第一個Java程式


你是我的眼!Google AI 眼鏡助視障朋友「看見」世界


錯過可惜!!究竟奧迪跟福斯如何靠UI落實”數位優先”?!(中)


UI/UX設計心理學,教你抓住客戶的心!!


落實”數位優先”只靠UI?!看看奧迪跟福斯怎麼辦到的!!(上)

Javascript初學者課程(21)-陣列的方法與屬性

Javascript初學者課程(21)-陣列的方法與屬性
Javascript初學者課程(21)-陣列的方法與屬性

本日的JavaScript教學就是要教你關於Javacript中的陣列的方法與屬性哦!

 陣列(Arrays)-length 屬性

JavaScript 陣列(Arrays)擁有一些實用的內置屬性和方法,例如 length 屬性,用以回傳一個陣列中元素的數量。寫法如下例所示:

See the Pen JavaScript-Array-length-property by Tedutw (@Tedutw) on CodePen.

上述範例左側的原始碼,第一行的「courses」陣列有三個元素:HTML、CSS、JS,因此回傳數值為「3」;第四行的「courses1」陣列有四個元素:HTML、CSS、JS、JQuery,因此回傳數值為「4」

合併陣列(Combining Arrays)-concat () 方法

JavaScript 的 concat () 方法被用來合併兩個或多個陣列。前端工程師認為此方法不會改變原本的陣列,而是新增加另一個經過合併過的陣列後回傳。

See the Pen JavaScript-combining-Arrays by Tedutw (@Tedutw) on CodePen.

上述範例左側的原始碼,第一行為「c1」陣列回傳為「HTML,CSS」;第二行的「c2」陣列回傳為「JS,JQuery」;第三行就採用 concat () 方法來合併第一、第二行的 c1、c2 陣列,是為新陣列「c3」,其回傳值有四個元素「HTML,CSS,JS,JQuery」。

關於前端工程師常用的Javascript教學系列,我們將陸續介紹 Math Object 數學物件與 Date Object 日期物件等 JavaScript 原生物件。JavaScript與本章再複習一次。下回的前一章「陣列的介紹」 的陣列 (Arrays)教學在此告一個段落,請各位讀者務必將JavaScript

 

 

 

 

 

 

推薦文章:
JavaScript入門教學#18|創造JavaScript物件(Objects)


差點被拋棄的冠軍程式語言-Java入門教學(一)
Java 身世之謎/寫出第一個Java程式


APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!


你是我的眼!Google AI 眼鏡助視障朋友「看見」世界


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


Javascript入門第十七課-物件介紹


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

Javascript初學者課程(20)-陣列

Javascript初學者課程(20)-陣列
Javascript初學者課程(20)-陣列

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

陣列(Arrays)

JavaScript 中的「陣列(Arrays)」可以被比喻成「可以一次承裝多個值的變數」。一般的變數一次只能裝一個值,而陣列一次可裝多個變數。例如,現在我們有三個課程名稱「HTML」、「CSS」、「JS」,就必需設立三個變數來承裝。原始碼如下所示所示:

var course1 ="HTML"; 
var course2 ="CSS"; 
var course3 ="JS";

假設是使用「陣列(Arrays)」,原始碼就可以精簡成一行文,如下所示:

var courses = new Array("HTML", "CSS", "JS");

語法解析:上述的代碼是宣告名為「courses」的陣列。這個陣列包含三個值(或稱元素)。建立新陣列的寫法為「new Array(元素一,元素二,元素三)」

取出陣列的某一元素

陣列裡含這麼多元素,當我們想要找出某個元素時,就必需把索引號碼寫在方括號內。要取出陣列中的第 X 個元素,語法稱為「陣列名稱[X-1]」(因為陣列元素的編號是從零開始,不是從一開始,所以第一個元素的索引號為「0」、第二個元素的索引編號為「1」,由此類推⋯⋯)

我們承接前一段「名稱為 courses 的陣列」的例子,假如今天我們要從 courses 陣列中取出「JS」,並且把「JS」改成「JQuery」,寫法如下:

var courses = new Array("HTML", "CSS", "JS"); 
var course = courses[2]; // 取出第三個元素「JS」
courses[2] = "JQuery"; //將第三個元素名稱改成「JQuery」

See the Pen JavaScript-Array1 by Tedutw (@Tedutw) on CodePen.

如果當我們輸入的索引數字,已經超過了陣列元素數目減去「1」的數字時(例如上述例子的陣列中只有三個元素,但是你卻輸入了「3」或是比「3」還大的數字,則 JavaScript 將會回傳「undefined」)。如以下所示:

var courses = new Array("HTML", "CSS", "JS");
document.write(courses[3])

 

See the Pen JavaScript-Array2 by Tedutw (@Tedutw) on CodePen.

使用其他方式來建立陣列 Array

除了上述方式外,我們還可以藉由先輸入陣列元素個數、之後再告知哪個序號對應到哪個元素的方式來建立陣列。

例如,我們把上述的 courses 陣列使用此方法來寫,則 JavaScript 原始碼如下:

var courses = new Array(3);
courses[0] = "HTML";
courses[1] = "CSS";
courses[2] = "JS";

JavaScript 的陣列是動態的,因此我們在上述例子中的第一行「var courses = new Array(3);」,也可以不給元素的數目,即為「var courses = new Array();」。此時,後面的元素就可自由增加如下:

var courses = new Array();
courses[0] = "HTML";
courses[1] = "CSS";
courses[2] = "JS";
courses[3] = "JQuery"

實務上常用:陣列實字 (Array literal)

以上介紹了JavaScript陣列的寫法。為了提高前端工程師的執行速度,我們可以把以上的寫法簡化成陣列實字 (Array literal)寫法,如下所示:

var courses = ["HTML", "CSS", "JS"];

 

這樣子的寫法,等同於「var courses = new Array(“HTML”, “CSS”, “JS”);」,差別是陣列實字的寫法,少了關鍵字「new Array」,並且把元素左右側的括號改成方形括號。此種簡化的寫法最常被前端工程師所使用。

今天就介紹到這裡,在接下來「JavaScript入門教學#21」的文章中,我們將繼續介紹陣列的屬性、合併方法等。建議讀者們先消化一下陣列的寫法,再進入下一章學習陣列的活用,才會學得更輕而易舉哦。

 

 

 

 

 

 

 

 

推薦文章:
JavaScript入門教學#18|創造JavaScript物件(Objects)


差點被拋棄的冠軍程式語言-Java入門教學(一)


Java 身世之謎/寫出第一個Java程式


你是我的眼!Google AI 眼鏡助視障朋友「看見」世界


APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!


Javascript基礎練習(十七)-物件介紹


Javascript入門第十八課-創造物件


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

APCS懶人包,讓你輕鬆了解何謂APCS認證!(三)

APCS懶人包,讓你輕鬆了解何謂APCS認證!(三)
APCS懶人包,讓你輕鬆了解何謂APCS認證!(三)

APCS認證懶人包,讓你輕鬆了解APCS檢定到底是什麼!(三)

「大資工時代」下 人人都得會的程式設計

根據 108 年的志願分析,隨著台灣社會越發重視 AI 相關產業,這同時代表APCS認的能力也趨於重要。資工、資管系在第二類組志願排序越來越往前,前十五名占了八個,成大資工系分數超過台大土木,台大資工系分數也逼近台大電機系,被稱為「大資工時代」來臨。

 

而在台灣 AI 產業蓬勃發展下,資工、資管系只會越來越熱門。不僅如此,為了因應就業市場,除了該具備APCS認證能力外,人文社會科系也紛增程式設計課,從公立如台師大、私立如元智大學等都要求人文社會科系學生必修程式設計,台師大甚至還另有數位人文與藝術應用、資訊科技及未來教育、資訊科技應用,以及人工智慧學程等等進階學程,來抵抗因 AI 而失業的危機。

 

更別說就業市場上已有 AI 搶飯碗的擔憂,尚在學的莘莘學子更不能不先為將來出社會先做設想啊!

 

從零開始的 APCS 檢測……怎麼樣才能有效率拿高分?

放心,就算之前完全沒接觸過軟體設計也沒關係,只要選擇好的管道就可以!但如果只是買幾本參考書自學、做做考古題是很難在APCS檢測拿到高分的,也不適合初學者。

 

想靈活又全面地學習各種程式語言,最好還是報名 APCS檢測 專門課程,尤是要挑選以程式語言培訓為主的補習班,例如專攻 IT 人才培育的「達內教育」。讓專業老師幫你講解、規劃課程,不需要自己額外費心費力找資料,跟著老師幫你準備好的課程、講義、考古題,一步步輕鬆攻略 APCS!

 

 

 

 

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


APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!


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


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


Python教學懶人包,19個初級語法一把罩!


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


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

APCS懶人包,讓你輕鬆了解何謂APCS認證!(二)

APCS懶人包,讓你輕鬆了解何謂APCS認證!(二)
APCS懶人包,讓你輕鬆了解何謂APCS認證!(二)

APCS認證懶人包,讓你輕鬆了解APCS檢定到底是什麼!(二)

學測失利也免驚!檢測高分、紅利級分幫你順利上榜

你是否會因為緊張而在大考時無法發揮實力呢?APCS檢定 對在學測失分的同學們可以說是一大福音,根據透過 APCS 組順利錄取中央大學資工系的黃允誠同學就表示:檢測高分是可以彌補學測失分的。由於他的學測自然考 11 級分,原無望錄取中字輩大學資工科系,但靠著在 APCS認證 的優異表現而順利上榜。

除此之外,APCS 組申請大學的紅利級分最高可達 18 級分!什麼是紅利級分?直接舉例說明,如今年師大資工系一般組別的錄取門檻為「英文 13 級分、數學 15 級分」,而 APCS 組別「英文 10 級分、數學 12 級分」,相比之下英文數學各低了 3 級分,這 3 級分就稱為紅利級分。想申請頂尖大學的同學們,一定要好好把握這個機會哦!

不只應屆畢業生 全台高中生皆紛紛報考 APCS

最近一場 APCS 檢測結束後,主辦單位日前公布了約三千名考生報名,其中高中生比例佔了四成以上,估計與升學導向有關。有許多確定志向、資工系志願的高一、高二同學報考 APCS檢定,不讓高三應屆生獨占鰲頭。

事實上,隨著人工智慧時代來臨,教育部推廣資訊教育扎根高中校園,也使得具備程式設計能力的高中生越來越多,未來預期競爭也會更趨激烈。

如果你是高一、高二生,建議先了解 APCS認證 的相關資訊,參考一下測驗時程,提早同儕做準備、多他人一分努力,才有機會脫穎而出。而且將來在大學階段也可以用 APCS 分數抵免大學學分喔!

 

 

 

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


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


APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!


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


事半功倍?搞定Excel背後神隊友竟是Python?!


學會Python只能當工程師?你還有更好的選擇..


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

APCS懶人包,讓你輕鬆了解何謂APCS認證!(一)

APCS懶人包,讓你輕鬆了解何謂APCS認證!(一)
APCS懶人包,讓你輕鬆了解何謂APCS認證!(一)

APCS認證懶人包,讓你輕鬆了解APCS檢定到底是什麼!(一)

▲許多頂大的資工科系已採用 APCS 檢測成績為多元入學的參考依據,讓具備程式設計能力的高中職學生,現在可善用程式設計的專長升學。

學測已放榜一段時間,相信許多同學已如火如荼地投入「書面資料審查」的準備。現今大學多元入學的方針讓「面試」+「備審」的重要性大幅上升,即使入學不再是「成績至上」,但要如何豐富自己的學經歷,做出一份專美於前、讓教授眼睛一亮的備審,甚至靠「APCS」就能順利錄取頂大呢?

這裡整理了關於 APCS 懶人包,讓你快速了解為何報考 APCS認證 好處多多,最後還會教你如何有效率地考出好成績喔!

APCS檢定到底 是什麼?

APCS 是「大學程式設計先修檢測」(Advanced Placement Computer Science)。旨在檢測考生程式設計的能力。分為「觀念題」和「實作題」兩部分,囊括 OS、C++、Java、Python 等程式設計軟體,讓具備程式設計能力的高中職學生有一個具有公信力的檢測機制。

APCS檢定中成績除了是申請入學中「APCS 組」的必要成績外,也是多校特殊選才等多元入學管道重要參考資料,想就讀資訊工程、資訊管理等資訊類相關學系的同學們是絕對要準備的檢測。

採用 APCS 的大學有哪些?APCS 成績很重要嗎?

109 年「個人申請」包含頂大在內共有 38 學系將 APCS 成績列入第一階段的篩選門檻中,以「APCS 組」的形式招生,總計共 91 個名額。而未來預計會逐年增多。

▲清華大學資訊工程學系 APCS 組簡章

以清華大學資訊工程學系 APCS 組為例,從簡章上我們可以看到「APCS 觀念題、實作題達 4 級分」之考生為第一階段篩選條件;再用實作題篩選出 20(篩選倍率)*3(招生名額)=60名考生,再從這 60 名考生中用數學學測成績 10(篩選倍率)*3(招生名額)=30名考生進入二階面試。由此可知,APCS驗證 可以算是申請流程中最重要的門檻。

就算不是 APCS 組,一般組也往往建議申請時附上 APCS 成績,以成大和師大資工系簡章為例:

 

▲ 成功大學、臺灣師範大學資訊工程學系簡章都包含 APCS

由以上範例可知,可說是所有資訊類相關校系申請時都需要 APCS 成績!

 

 

 

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


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


APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!


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


只有內行人才知道!!6種Python超實用隱藏版功能!(上)


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


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

輕鬆學會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!