2020年3月31日 星期二

Python快速通關19個語法

 Python程式語言快速通關19個語法
 Python程式語言快速通關19個語法


你一定聽到人人都說Python語言既簡單又好學,前景看好薪水高,所以很多人想盡辦法學習Python程式,有方法嗎?有套路嗎?當然有,但想要快速學習Python程式語言Python教學很重要,我覺得這Python教學19個語法是入門!
Python的特點
解釋型語言,無需編譯即可運行
提供了交互式命令行
基於對象的程式思想
跨平台和良好的兼容性,在Windows、Mac、Linux上都可運行
簡單好用而且功能強大
01中文編碼
很多同學在打開數據時會遇上亂碼問題,其原因是字符集的編碼問題。 Linux和Mac默認的編碼集是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 ]表示,返回下標從1到4的片段,即第二個到第五個字符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 )
如果訪問不存在的key,Python將會報錯。在賦值的時候,如果key已經存在,則會用新的value覆蓋已有的value。
08註釋
被註釋的代碼將不會運行,可以看作是寫給自己和其他程序猿閱讀的一些筆記和說明,提高代碼可讀性。
#這裡是單行註釋這裡是很多行註釋
在Sublime中,選中需要註釋的內容,按Ctrl+/即可完成註釋。
09保留字符
在Python中,有一些字符串具有某些特定功能,如import 、 class等。我們在選擇變量名時,應注意避開這些保留字符。
#以下變量賦值將報錯import = 1
10行和縮進
在Python中,代碼塊的邊界不是通過大括號等符號進行顯式劃分,而是通過行的縮進實現的。連續相同縮進水平的代碼處於同一個代碼塊,在使用for 、 while 、 if 、 try等語法時需要注意每行代碼的縮進。
11運算符
運算符的作用是根據已有的變量生成新的變量,主要有以下幾種:
算術運算符:+,-,*,/,%,即加、減、乘、除、取餘
比較運算符:==,!=,>,<,>=,<=,即等於、不等於、大於、小於、大於等於、小於等於
賦值運算符:=,+=,-=,*=,/ =,%=,即賦值、加賦值、減賦值、乘賦值、除賦值、取餘賦值
邏輯運算符:and,or,not,即與、或、非
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循環
如果需要打印從1到100的100個數,肯定不會傻傻地寫100行print代碼,而是會用循環來處理類似的重複性工作。
14 while循環
while循環的思想是,只要某一條件成立,就不斷執行循環體裡的代碼,直到條件不再成立。
flag = 1while flag < 10: print flag    
#一定要記得在循環體裡修改條件變量    
#否則可能導致死循環flag += 1
15 for循環
for循環的循環次數一般是事先預知的,將一個標誌變量從某個起始值迭代到某個終止值後即結束。
# x從0開始,一直到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#同時遍歷key和valuefor 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時間
在處理數據時,很多地方都會涉及到時間,例如數據產生的時間。先介紹一下時間戳的概念,時間戳指的是從1970年1月1日0時0分0秒開始,到某一時刻所經歷的秒數,可以是整數或者小數,後者的精度更高。
為什麼需要時間戳這樣的一個概念?因為對於同一個時刻,不同人的描述可能不同,畢竟文本的形式千變萬化,而時間戳使得時間的表達得到了統一,每個時刻只能用唯一的整數或浮點數來表示,同時也便於計算時間差這樣的處理。
#來看一下當前時刻的時間戳吧import timet = time.time()print t, type(t)
關於時間戳,最常用的處理便是時間戳和時間文本之間的轉換,例如將2016年10月1日10時0分0秒轉為時間戳。
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 )

相關文章:

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

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

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

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

還在被蚊子騷擾嗎?有人工智慧捕蚊免煩惱!

Javascript入門磚19-方法(Method)

JavaScript掌握在手,網頁前端如神助!

2020年3月30日 星期一

Python程式語言必修六個標準的數據類型

Python必修六個標準的數據類型
Python必修六個標準的數據類型


Python教學想和大家分享的是關於Python自學的知識-Python的數據類型有哪些?自學Python知識的朋友們一起來看看吧,希望對大家有所幫助! Python中主要有8種數據類型:number(數字)、string(字符串)、list(列表)、tuple(元組)、dict(字典)、set(集合)、Boolean(布爾值)、None(空值)。其中Python有六個標準的數據類型,下面我們一起來看一看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沒有Python2的Long類型。浮點型(float): 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示 。複數( (complex)) : 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

3、列表
列表是一種可修改的集合類型,其元素可以是數字、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入門教學#22|數學物件
你是我的眼!Google AI 眼鏡助視障朋友「看見」世界
JavaScript入門教學#21|陣列的方法與屬性
今年10月即將入手的新身分證,它的UI設計有啥亮點?
還在被蚊子騷擾嗎?有人工智慧捕蚊免煩惱!
Javascript入門磚19-方法(Method)
JavaScript掌握在手,網頁前端如神助!

2020年3月26日 星期四

Javascript入門必學21-陣列的方法與屬性

 入門必學的Javascript陣列的方法與屬性,學起來吧!
入門必學的Javascript陣列的方法與屬性,學起來吧!
陣列(Arrays)-length 屬性
前端工程師   都知道 JavaScript 陣列(Arrays)擁有一些實用的內置屬性和方法,像 length 屬性,是用以回傳一個陣列中元素的數量。寫法如下例所示:

以上說明左側的原始碼,第一行的「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 的陣列 (Arrays)教學在此告一個段落,請希望想當前端工程師的讀者務必將前一章「陣列的介紹」與本章再複習一次。下回的JavaScript教學系列,我們將陸續介紹 Math Object 數學物件與 Date Object 日期物件等 JavaScript 原生物件。

相關文章:

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

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

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

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

搞UI設計不可不知的心理小祕密!

JavaScript網頁前端技能不可少!

你不能不知JavaScript變數命名規範

2020年3月25日 星期三

Javascript入門必學20-陣列(Array)

入門必學的Javascript陣列(Array),學起來吧!
入門必學的Javascript陣列(Array),學起來吧!
陣列(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)

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

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

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

搞UI設計不可不知的心理小祕密!

JavaScript網頁前端技能不可少!

你不能不知JavaScript變數命名規範

2020年3月24日 星期二

新身分證UI設計功能有亮點(下)

新身分證UI設計功能亮點:隱私保護升級
新身分證UI設計功能亮點:隱私保護升級


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

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

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

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

除充滿質感的外觀,資訊呈現上也做不少調整。伴隨著個資保護意識抬頭,新身分證 的 UI 介面一改過去拿出身分證便個資全都露的尷尬感,將大多數的個人資訊儲於晶片內。
新式 ID 僅保留個人基本資料:姓名、身分證字號、出生日、人像等,至於其他更私密的資訊如父母姓名、出生地等,都於晶片內加密保護,且需經本人同意、輸入身分證後 6 碼及自訂的 2 組密碼後,機關才能讀取資料。
萬一不小心遺失身分證,更可直撥「1996」專線掛失,自然人憑證就立即停用!失主也可申請紙本臨時證明,供掛失補辦期間使用。
而原有的身分證因為有密碼保護機制,所以毋需擔心晶片內容被讀取、盜用; 而晶片則是封裝後無法再取出、無法被側錄或複製偽造。
除此之外,數位身分證沒有儲存的功能,所以使用時不會留下紀錄,避免被第三方監控,真正保障各資安全。

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

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

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

身分證數位化的最大特點就是,任何需要證件才能辦理的業務,也都同步數位化,能在線上直接辦理。透過政府骨幹網路 (T-Road) 串接政府各機關、部門的獨立系統資料股,民眾最快在今年 10 月之後,就能在網路上辦理公投連署、健保、社福、津貼、勞保、年金、護照簽證等 16 項業務!這樣就不需要為了印身分證、臨櫃申辦事務而東奔西跑了
新版身分證不僅在 UI 介面的設計有乾淨利落、資訊分明的特點,更在技術、使用、便民性上有著巨大的突破!未來在其他功能上的結合,更是指日可待!讓我們一同期待 10 月份新卡的蒞臨吧!

相關文章:

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

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

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

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

搞UI設計不可不知的心理小祕密!

JavaScript網頁前端技能不可少!

你不能不知JavaScript變數命名規範

2020年3月23日 星期一

新身分證UI設計功能有亮點(上)

 新身分證UI設計簡潔受好評

新身分證UI設計新功能好期待
睽違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)

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

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

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

搞UI設計不可不知的心理小祕密!

JavaScript網頁前端技能不可少!

你不能不知JavaScript變數命名規範

2020年3月19日 星期四

告訴你APCS認證是甚麼-3

  APCS認證資訊系必備

APCS認證資訊系必備
「大資工時代」下 人人都得會的程式設計
以 108 年的志願分析來看,台灣社會更重視 AI 產業,資工與資管系在第二類組志願排序越來越往前,前十五名就占了八個,而且成大資工系的分數超過了台大土木,台大資工系分數也接近台大電機系,所以即將進入「大資工時代」。
而在台灣 AI 產業蓬勃發展下,資工、資管系只會越來越熱門。不僅如此,為了因應就業市場,人文社會科系也紛增程式設計課,從公立如台師大、私立如元智大學等都要求人文社會科系學生必修程式設計,台師大甚至還另有數位人文與藝術應用、資訊科技及未來教育、資訊科技應用,以及人工智慧學程等等進階學程,來抵抗因 AI 而失業的危機。
更別說就業市場上已有 AI 搶飯碗的擔憂,尚在學的莘莘學子更不能忽視APCS認證為將來出社會先做設想啊!

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

放心,就算之前完全沒接觸過軟體設計也沒關係,只要選擇好的管道就可以參加APCS檢定!但如果只是買幾本參考書自學、做做考古題是很難拿到高分的,也不適合初學者。
想靈活又全面地學習各種程式語言,最好還是報名 APCS認證 專門課程,尤是要挑選以程式語言培訓為主的補習班,例如專攻 IT 人才培育的「達內教育」。讓專業老師幫你講解、規劃課程,不需要自己額外費心費力找資料,跟著老師幫你準備好的課程、講義、考古題,一步步輕鬆攻略 APCS 報考APCS檢定

相關文章:

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

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

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

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




2020年3月18日 星期三

告訴你APCS認證是甚麼-2

 APCS認證資訊系必備

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

你大考時會緊張沒辦法展現實力嗎?APCS認證 是學測失分同學一大福音, APCS 組順利錄取中央大學資工系的黃允誠同學表示:APCS認證檢測高分可彌補學測失分。他的學測自然考 11 級分,本來無法考取中字輩大學資工系,可是靠著 APCS 的優異表現而順利上榜。
除此之外,APCS 組申請大學的紅利級分最高可達 18 級分!何謂紅利級分?直接舉例說明,如今年師大資工系一般組別的錄取門檻為「英文 13 級分、數學 15 級分」,而 APCS 組別「英文 10 級分、數學 12 級分」,相比之下英文數學各低了 3 級分,這 3 級分就稱為紅利級分。想申請頂大的同學們,一定要把握這個機會!

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

最近一場 APCS 檢測結束後,主辦單位日前公布了約三千名考生報名,其中高中生比例佔了四成以上,估計與升學導向有關。有許多確定志向、資工系志願的高一、高二同學報考APCS檢定,不讓高三應屆生獨占鰲頭。
事實上,隨著人工智慧時代來臨,教育部推廣資訊教育扎根高中校園,也使得具備程式設計能力的高中生越來越多,未來預期競爭也會更趨激烈。
如果你是高一、高二生,建議先了解 APCS認證的相關資訊,參考一下測驗時程,提早同儕做準備、多他人一分努力,才有機會脫穎而出。而且將來在大學階段也可以用 APCS檢定 分數抵免大學學分喔!

相關文章:

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

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

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

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

Python火,你也火了嗎?那些職缺超需要你!

Python處理excel超強大!讓你高效率完成工作

Java入門教學1:帶你認識Java

2020年3月17日 星期二

告訴你APCS認證是甚麼-1

 APCS認證資訊系必備

 APCS認證資訊系必備

APCS 是什麼?
APCS檢定 是「大學程式設計先修檢測」(Advanced Placement Computer Science)。主要是測考生程式設計的能力。「觀念題」和「實作題」兩部分,囊括 OS、C++、Java、Python 等程式設計軟體,想測出高中職學生程式設計的能力 APCS認證 是一個具有公信力的檢測指標。
申請「APCS 組」除了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寫程式時,聽什麼音樂能增加效率?

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

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

Python火,你也火了嗎?那些職缺超需要你!

Python處理excel超強大!讓你高效率完成工作

Java入門教學1:帶你認識Java