python安装
推荐使用anaconda集成环境,anaconda是Python的包管理工具
推荐使用jupyter notebook 进行python学习
基础
- 在Python中使用#号注释
- Python非常注重缩进 用缩进表示代码块的层级关系
- Python可以不用分号作为语句的结束
- Python数据类型
Python3有6个标注的数据类型
使用type()函数可以查看数据类型
- Number 数字 支持int float bool complex(复数)
- String 字符串
- List 列表
- Tuple 元组
- Sets 集合
- Dictionary 字典
- 基本运算Number
- 加
>>>5 + 4 # 加法
9
- 减
>>> 4.3 - 2 # 减法
2.3
- 乘
>>> 3 * 7 # 乘法
21
- 乘方
>>> 2 ** 5 # 乘方
32
- 除法 得到浮点数
>>> 2 / 4 # 除法,得到一个浮点数
0.5
- 除法 得到正数
>>> 2 // 4 # 除法,得到一个整数
0
- 取余
>>> 17 % 3 # 取余
2
类型转换
int(3.14)
- 字符串String
使用单引号或者双引号表示字符串,使用反斜杠表示转移字符。
字符串使用切片变量[始索引:终索引]
截取字符串 包括开始索引包括结束索引
索引以0开始,-1表示从末尾的开始位置。
加号+是字符串的链接符号,星号*表示复制当前字符串,紧跟的数字表示赋值的次数
str = 'Runoob'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
字符串前加r表示原始字符串,不会对其中的转移字符进行转义
- 列表List
- 列表写在方括号之间,元素用逗号隔开
- 列表可以被索引和切片
- 列表可以使用+操作符进行拼接
- 列表的元素的是可以改变的
列表的操作
- 改变一个元素
- 增加一个元素
- 删除一个元素
- 查找某个元素对应的位置
fam_height = ['father',1.78,'monther',1.68,'son',1.8,'daughter',1.65]
#更改女儿的身高
fam_height[-1] = 1.68
#可以同时修改多个
fam_height[0:2] = ['lao wang',1.77]
#增加元素
fam_height = fam_height + ['second_son',0.51]
#删除元素
del(fam_height[6:8])
#查找某个元素对应的索引
> 我们可以使用Python内置的列表函数来处理列表,列表本身自带的函数成为方法
print(fam_height.index(1.77))
print(fam_height.index('lao wang'))
- 元组Tuple
元组与列表类似,但不可改变,用,进行分割。元组默认写在小括号里
需要注意的是,一个元组元素,需要跟逗号
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
string,list,tuple都是序列sequence
- 集合Set
集合是一个无序的不重复元素的序列
基本功能是删除重复元素和进行成员关系测试
使用{}或者set()函数创建集合,但是空集合必须用set()创建,因为{}是用来创建空字典的。
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) #输出集合,重复元素自动去除
# 成员测试
if ('Rose' in student):
print ('Rose 在集合中')
else:
print('Rose 不在集合中')
# 集合运算
交& 并| 差- 不同时存在^
a = set('abracadabra')
b = set('alacazam')
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同时存在的元素
- 集合Dictionary
字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
键必须唯一且用不可变类型
使用{}表示空字典
构造函数dict()可以直接从键值对序列中构造字典:
>>>dict([('Runoob',1),('Google',2),('Taobao',3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
>>>{x:x**2 for x in (2,4,6)}
{2: 4, 4: 16, 6: 36}
>>>dict(Runoob=1,Google=2,Taobao=3)
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
函数和方法
family = [1.80, 1.68, 1.2, 1.5]
打印函数
print(family[-2:])
类型函数
type(family)
最大值
max(family)
长度
len(family)
帮助
help(max) 或者 ?max
range函数生成整数序列,在循环中非常有用
range(a,b) a和b为整数,满足b>a,生成一个列表[a,a+1,...,b-1]
seq = range(0,9)
print(type(seq))
print(seq)
print(list(seq))
<class 'range'>
range(0,9)
[0,1,2,...,8]
方法:
#计数方法
family.count(1.8)
#添加元素
family.append(1.8)
条件语句
bool表达式
- x==y 比较x和y是否相等
- x!=y 比较x和y是否不等
- x is y x和y是否相同,除了相等,类型还必须一样
- x is not y x和y是否不同
- x > y
- x >= y
- x < y
- x <= y
逻辑运算符
and(&) 与 or(|) 或 not(!) 非
packages导入
使用 import 导入
>>>import numpy
>>>numpy.round(2.7)
3.0
>>>import numpy as np
>>>np.round(2.3)
2.0
>>>np.array(family)
array([1.80, 1.68, 1.2, 185])
>>> from numpy import array
array(family)
array([1.80, 1.68, 1.2, 185])