python

python

三种内建形态

数值形态 NUMERIC TYPE

  1. 整数形态(integer)

    int(True) =>1

    int(‘10’) =>10

    int(‘3.14159’) =>3

  2. 浮点数形态(float)

    float(‘3.14’)=>3.14

    float(‘1’) =>1.0

  3. 布尔形态(bool)只有True/False两个形态,0为False,非零(不论正负)为True

    bool(‘0’)=>False

    bool(’-1’)=>True

    bool(‘100’)=>True

  4. 复数形态(complex)

字符串形态 STRING TYPE

想要在 Python 环境里表示字串,需要用 ‘ ’或者” ” 包住文字,两者在 Python 有着相同的效用,大部分的Python开发人员习惯 使用单引号。

需要注意的地方则是跳脱字符:

符号 说明
\ 反斜线。
\’ 当使用‘ ’来表示字符串,又要表示单引号时使用。
\” 当使用” ”来表示字符串,又要表示双引号时使用。
\0 空字符,空字符串为’\0’相当于’\x00’ 。
\n 换行。
\r 归位。
\t Tab。

使用“ ” 或 ‘ ’ 表示字符串时,不可以换行。如果字串内容需要跨越行数的话,就要使用到三重引号, 在三重引号之间输入任何内容,在最后的字符串都会全部收入,像是包括换行、缩排等。

python

然而print( )的显示在预设上是会换行的,print( ) 中有一个end参数,在指定的字串显示之后, end 参数指定的字符串就会输出。如果不想换行,将 end 指定为空字串‘ ’。

python

当指定多个字符串给print( ) 的话,预设的分隔符号是一个空白字符,想要用其他字符的话,可以指定sep参数。

python

format的使用:

  1. 如果{ }没有数字或名称, format( ) 会依序指定对应的数值。
  2. 如果{ }有数字,如{0},则会使用format( ) 中的第一个自变量。
  3. 如果{ }指定了名称,则会使用format{ }中的具名参数。

容器形态 CONTANINER TYPE

  1. LIST

    • 列表型态为list,特性为有序、有索引值,内容与 长度可以变动,要建立串列,可以使用[ ]建立,串行中的每个元素都用逗号「,」区隔。如下图所示:

    python

    △:[1,2,3]为一个list
    [] 中括号的内容表示第几个内容,()表示内容Append 添加数值在Python中的第三个数字标码为2,从零开始标数Remove(),从list中移走括号内的内容del number [],从list中移走第[]位的内容

    可以对list使用append( ) 、 pop( ) 、 remove( ) 、 reverse( ) 、 sort( ) 等方法,具体记在笔记本上。

    python

    Number.sort()+enter ,将list中的项目从小到大排序,Append() 添加元素。Number.pop()+enter,会将list中最后的一个项目(位置)移出来,之后list中的number剩下被删除后所剩的项目。number.reverse()+enter ,将list中的项目调换顺序1234变4321。

  2. SET

    集合内容无序、但元素不重复,想要建立集合可以使用{ }包括元素,元素间以「,」区隔,这将会建立set实例,若有重复元素会自动剔除。如下图所示:

    python

    • 假如要建立空集合,不能使用{ },因为这会建立空的dict ,而不是set ;这时候就要用到set( ) 函式,想新增元素可以用 add( ) 。如下图所示:

    python

  3. DICTIONARY

    • 字典是用来储存两两对应的Key-Value ,是为 dict型态,可以用{ }加上相对的key-value pair建立字典物件,以下将示范如何建立字典物件:

    python
    输入两个,用花括号,两个元素之间用“,”隔开;
    输入一个用中括号。

    △:建立字典时,每个Key 会用来取得对应的 Value 。
    dict 的 Key 不重复,想指定Key 取得 Value 时用[ ]。
    可以随时再加入一对Key,如果想要删除某对Key- Value ,可以使用del( ) 这个函式。

  4. TUPLE

    • Tuple 在许多方面都与 list 很像:
      1.为有序的结构。
      2.可以使用[ ]指定索引值取得元素。

    • 与list不同的地方: 。
      一旦建立 Tuple ,就不能更动其内容,为immutable物件。

    • 如要建立Tuple :只要在某个值的后面加上「,」 即可,或使用()来建立Tuple物件。

    • python

    • Tuple的主要用途

      1. 临时想要回传一组资料,又不想自定义型态时。

      2. 不希望函式修改传入的资料。

指定运算

指定运算符 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
  • 索引切片运算:

python

​ 切片运算是[start:end] 的形式,其中, start 的值 为包括起始位置的索引值,end 的值为不包括结尾的索引值。
​ 如果start值不指定,表示从0(包括)这个索引值切 至结尾索引(不包括)之间的索引。(如name [:4]所示)
​ 如果两个都不指定的话,就等于复制字符串(name[:])

语法与函数式

  1. if 判断句

    在说明if判断式之前,要再次重声一点,在Python 中,程序区块是使用冒号「:」开头,之 后同一区块的缩排要相同,不可以混用空格键与Tab键。

    python

    若输入为偶数,那么number % 2就会是0,if判断式会认定False因此只会执行else的区块。
    在Python中的if判断式还有个特点,让我们在看下一个范例:

    python

    但在Python 中,由于严格的缩排规则, else 就必定会与condition_a配对。

  2. while循环句

    语法流程如下所示:

    python

    • while 搭配else 是相当少见的特色之一,而至于else ,开发人员是可以选择不要使用的。

    • 回到上述的例子,在条件式成立时,将会执行while 循环,条件式不成立时就会执行else区块,这是相当直观的。

    • 然而,当 while 循环正常结束时,也会执行else区块的程式码。

    • 如果不想让 else 区块被执行的话,有两种做法:

      1. 在 while 循环只用break 中断循环

      2. 不使用else

  3. for……in……迭代

    功能类似于while循环,下图是以字串当作例子(字符串也是list的一种,可以有索引的值):

    python

    迭代的方法:

    • 想要被迭代的序列要放在in之后,对于具有索引特性的序列, for in 会依索引顺序逐一取出元素, 并且指定给in 前面的变数。
    • 上图的range(len(name)) 会分别将0~4取出,并且指定给i 这个变数。
    • 既然与while 循环相似,那么同样的for in 也可 以搭配else使用(不过不建议)。
  4. 函数式

    1. def定义函数式

      当我们需要一个比较大小的函式时,我们可以如下图这样写,其中max为函式的名称,而number 1 与number 2传入的参数:

      python

      不过在Python中还有个特点,就是在函式之中, 开发人员还可以再定义一个函式,这类函式会被称为区域函式。

      python

    2. 一级函数式的应用

      在Python里,函式属于一级(First-Class)公民,定义一个函式会产生一个函式物件,此物件为function的实例,既然函式为物件,就可以指定给其他变数使用。

      python

      • 函数与其他的资料型态一样,可以在变数、函式呼叫时指定。
      • 函数与其他的资料型态一样,可以在变数、函式呼叫时指定。这样的特性可以使得函式的重复流程可以被封装, 甚至是把函式当作自变量来传递,其他 C-like 语言 虽然也可以做到,不过在原生的Python 中就可以直接做到这点不用额外在定义。
    3. lambda表达式

      在 lambda 关键词之后定义的为函式参数,而冒号「:」之后定义的是函式本体,其运算结果将会 是回传值,如下图所示。

      python

      • 然而,在Python中,并没有 switch 陈述句,我们 可以结合dict 与 lambda 来实作 switch 这个功能。

      python

      在上述的例子,dict 的值为 lambda 所建立的物件, 而get( ) 函式取得Key 对应的对象。若 Key 不存在,就回传get ( ) 第二个自变量指定的lambda 函式,等同于switch中的default 的区块。最后的( ) 表示立即执行。