Python学习之路(1)
工作后,就没有系统的学习过其他编程语言,现在开始计划学习几门其他编程语言,由于想玩一玩机器学习,从Python开始。
学习新语言倒不完全是为了使用,而是在学习的过程中体会不同语言的差异、特点、优点,对计算机编程的理解更进一步,融会贯通。
本文作为学习的开始,把学习过程中的基础知识做个备忘,便于日后翻阅。
代码块
使用相同缩进区分代码块。
注释
# 单行注释
'''
多行注释
多行注释
多行注释
'''
整数
地板除:a // b,结果向下取整,取余:a % b。
1 // 2 # 0
-1 // 2 # -1
字符串
- 编码:string.encode(encoding)
- 解码:bytes.decode(encoding, errors=’ignore’)
- 求长度:len(str)
- 格式化:
'%s %d %.2f %x' % ('x', 10, 10.1, 10)
->'x 10 10.10 a'
布尔
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字符 |