python
python
三种内建形态
数值形态 NUMERIC TYPE
-
整数形态(integer)
int(True) =>1
int(‘10’) =>10
int(‘3.14159’) =>3
-
浮点数形态(float)
float(‘3.14’)=>3.14
float(‘1’) =>1.0
-
布尔形态(bool)只有True/False两个形态,0为False,非零(不论正负)为True
bool(‘0’)=>False
bool(’-1’)=>True
bool(‘100’)=>True
-
复数形态(complex)
字符串形态 STRING TYPE
想要在 Python 环境里表示字串,需要用 ‘ ’或者” ” 包住文字,两者在 Python 有着相同的效用,大部分的Python开发人员习惯 使用单引号。
需要注意的地方则是跳脱字符:
符号 | 说明 |
---|---|
\ | 反斜线。 |
\’ | 当使用‘ ’来表示字符串,又要表示单引号时使用。 |
\” | 当使用” ”来表示字符串,又要表示双引号时使用。 |
\0 | 空字符,空字符串为’\0’相当于’\x00’ 。 |
\n | 换行。 |
\r | 归位。 |
\t | Tab。 |
使用“ ” 或 ‘ ’ 表示字符串时,不可以换行。如果字串内容需要跨越行数的话,就要使用到三重引号, 在三重引号之间输入任何内容,在最后的字符串都会全部收入,像是包括换行、缩排等。
然而print( )的显示在预设上是会换行的,print( ) 中有一个end参数,在指定的字串显示之后, end 参数指定的字符串就会输出。如果不想换行,将 end 指定为空字串‘ ’。
当指定多个字符串给print( ) 的话,预设的分隔符号是一个空白字符,想要用其他字符的话,可以指定sep参数。
format的使用:
- 如果{ }没有数字或名称, format( ) 会依序指定对应的数值。
- 如果{ }有数字,如{0},则会使用format( ) 中的第一个自变量。
- 如果{ }指定了名称,则会使用format{ }中的具名参数。
容器形态 CONTANINER TYPE
-
LIST
• 列表型态为list,特性为有序、有索引值,内容与 长度可以变动,要建立串列,可以使用[ ]建立,串行中的每个元素都用逗号「,」区隔。如下图所示:
△:[1,2,3]为一个list
[] 中括号的内容表示第几个内容,()表示内容Append 添加数值在Python中的第三个数字标码为2,从零开始标数Remove(),从list中移走括号内的内容del number [],从list中移走第[]位的内容可以对list使用append( ) 、 pop( ) 、 remove( ) 、 reverse( ) 、 sort( ) 等方法,具体记在笔记本上。
Number.sort()+enter ,将list中的项目从小到大排序,Append() 添加元素。Number.pop()+enter,会将list中最后的一个项目(位置)移出来,之后list中的number剩下被删除后所剩的项目。number.reverse()+enter ,将list中的项目调换顺序1234变4321。
-
SET
集合内容无序、但元素不重复,想要建立集合可以使用{ }包括元素,元素间以「,」区隔,这将会建立set实例,若有重复元素会自动剔除。如下图所示:
• 假如要建立空集合,不能使用{ },因为这会建立空的dict ,而不是set ;这时候就要用到set( ) 函式,想新增元素可以用 add( ) 。如下图所示:
-
DICTIONARY
• 字典是用来储存两两对应的Key-Value ,是为 dict型态,可以用{ }加上相对的key-value pair建立字典物件,以下将示范如何建立字典物件:
输入两个,用花括号,两个元素之间用“,”隔开;
输入一个用中括号。△:建立字典时,每个Key 会用来取得对应的 Value 。
dict 的 Key 不重复,想指定Key 取得 Value 时用[ ]。
可以随时再加入一对Key,如果想要删除某对Key- Value ,可以使用del( ) 这个函式。 -
TUPLE
指定运算
指定运算符 | EX | 结果 |
---|---|---|
+= | a += b | a = a + b |
-= | a -= b | a = a – b |
*= | a *= b | a = a * b |
/= | a /= b | a = a / b |
%= | a %= b | a = a % b |
&= | a &= b | a = a & b |
|= | a |= b | a = a | b |
^= | a ^= b | a = a ^ b |
<<= | a <<= b | a = a << b |
>>= | a >>= b | a = a >> b |
- 索引切片运算:
切片运算是[start:end] 的形式,其中, start 的值 为包括起始位置的索引值,end 的值为不包括结尾的索引值。
如果start值不指定,表示从0(包括)这个索引值切 至结尾索引(不包括)之间的索引。(如name [:4]所示)
如果两个都不指定的话,就等于复制字符串(name[:])
语法与函数式
-
if 判断句
在说明if判断式之前,要再次重声一点,在Python 中,程序区块是使用冒号「:」开头,之 后同一区块的缩排要相同,不可以混用空格键与Tab键。
若输入为偶数,那么number % 2就会是0,if判断式会认定False因此只会执行else的区块。
在Python中的if判断式还有个特点,让我们在看下一个范例:但在Python 中,由于严格的缩排规则, else 就必定会与condition_a配对。
-
while循环句
语法流程如下所示:
-
while 搭配else 是相当少见的特色之一,而至于else ,开发人员是可以选择不要使用的。
-
回到上述的例子,在条件式成立时,将会执行while 循环,条件式不成立时就会执行else区块,这是相当直观的。
-
然而,当 while 循环正常结束时,也会执行else区块的程式码。
-
如果不想让 else 区块被执行的话,有两种做法:
-
在 while 循环只用break 中断循环
-
不使用else
-
-
-
for……in……迭代
功能类似于while循环,下图是以字串当作例子(字符串也是list的一种,可以有索引的值):
迭代的方法:
- 想要被迭代的序列要放在in之后,对于具有索引特性的序列, for in 会依索引顺序逐一取出元素, 并且指定给in 前面的变数。
- 上图的range(len(name)) 会分别将0~4取出,并且指定给i 这个变数。
- 既然与while 循环相似,那么同样的for in 也可 以搭配else使用(不过不建议)。
-
函数式
-
def定义函数式
当我们需要一个比较大小的函式时,我们可以如下图这样写,其中max为函式的名称,而number 1 与number 2传入的参数:
不过在Python中还有个特点,就是在函式之中, 开发人员还可以再定义一个函式,这类函式会被称为区域函式。
-
一级函数式的应用
在Python里,函式属于一级(First-Class)公民,定义一个函式会产生一个函式物件,此物件为function的实例,既然函式为物件,就可以指定给其他变数使用。
- 函数与其他的资料型态一样,可以在变数、函式呼叫时指定。
- 函数与其他的资料型态一样,可以在变数、函式呼叫时指定。这样的特性可以使得函式的重复流程可以被封装, 甚至是把函式当作自变量来传递,其他 C-like 语言 虽然也可以做到,不过在原生的Python 中就可以直接做到这点不用额外在定义。
-
lambda表达式
在 lambda 关键词之后定义的为函式参数,而冒号「:」之后定义的是函式本体,其运算结果将会 是回传值,如下图所示。
• 然而,在Python中,并没有 switch 陈述句,我们 可以结合dict 与 lambda 来实作 switch 这个功能。
在上述的例子,dict 的值为 lambda 所建立的物件, 而get( ) 函式取得Key 对应的对象。若 Key 不存在,就回传get ( ) 第二个自变量指定的lambda 函式,等同于switch中的default 的区块。最后的( ) 表示立即执行。
-