[date: 2018-03-17 21:46] [visits: 22]

Python基础

工作后,就没有系统的学习过其他编程语言,现在开始计划学习几门其他编程语言,由于想玩一玩机器学习,从Python开始。

学习新语言倒不完全是为了使用,而是在学习的过程中体会不同语言的差异、特点、优点,对计算机编程的理解更进一步,融会贯通。

本文作为学习的开始,把学习过程中的基础知识做个备忘,便于日后翻阅。

代码块

使用相同缩进区分代码块。

注释

# 单行注释

'''
多行注释
多行注释
多行注释
'''

整数

地板除:a // b,结果向下取整,取余:a % b。

1 // 2 # 0
-1 // 2 # -1 

字符串

布尔

True、False。

None

空值,None == None => True。

List

数组,list.insert(index, x)、list.remove(index),求长度:len(list)。

Tuple

元组,初始化后不可变,一个元素时:tuple = (1,)。

Dict

dict = {
    'name': 'shasha',
    'age': 26
}

dict['name']
dict['notExists'] # Error

dict.pop('name') # 删除key:name

Set

s = set([1, 2, 3, 1]) # {1, 2, 3}

s.add(1)
s.remove(1)

条件语句

if c1:
    # xxx
elif c2:
    # yyy
else:
    # zzz

for循环

list = [1, 2, 3]
for item in list:
    print(item)

for index in range(5):
    print(list[index])

函数定义

参数组合顺序:必选参数、默认参数、可变参数、命名关键字参数和关键字参数

def my_fn(x, y):
    return x + y

my_fn(1, 1) # 2
my_fn(1, y = 1) # 2
def my_fn(x, y = 1):
    return x + y

my_fn(1) # 2
my_fn(1, 1) # 2
def my_fn(*list):
    sum = 0;
    for item in list:
        sum += item
    return sum

my_fn(1, 1) # 2
def my_fn(x, y, *, z):
    return x + y + z

my_fn(1, 1, 3) # Error
my_fn(1, 1, z = 0) # 2
def my_fn(x, y, **z):
    if 'you' in z:
        return 0
    
    return x + y;

my_fn(1, 1) # 2
my_fn(1, 1, you = None) # 0

Lambda表达式

m = lambda x : x * 2 # f(x) = x * 2
n = lambda x, y : x * 2 + y # f(x, y) = x * 2 + y

m(1) # 2
n(0, 2) # 2

数据类型

使用type方法获取变量类型。

type(2) # int
type('2') # str
type(True) # bool
type([2]) # list

数值转换表

函数 描述
int(x,
base
)
将x转换为一个整数,base表示进制
long(x,
base
)
将x转换为一个长整数
float(x) 将x转换为一个浮点数
str(x) 将对象x转换为字符串
repr(x) 将对象x转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式
tuple(s) 将序列s转换为一个元组
list(s) 将序列s转换为一个列表
set(s) 将序列s转换为s
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为他的整数值
unichr(x) 将一个整数转换为Unicode字符