昨天一大早坐高铁去找老爸玩,今天中午就要回去继续工作了。不得不承认,我虽然已经离家四年多了,还是不能让自己习惯离别的感觉。
话不多说,开始学习。首先实验室电脑安装anaconda,准备在自己的电脑上安装pycharm(因为之前安装anaconda体验不好)。学习python基础教程第二版。
第一章:基础知识
conda install 在python编译器外进行
round(1/2) 四舍五入, floor(1/2)取小整 ,floor在math模块中,ceil取大整
cmath模块中cmath.sqrt可以求负数的平方根,对复数支持。虚数以j表示。
如果希望代码在UNIX下顺利运行,在首行写:#!/usr/bin/env python
在执行前让脚本有可执行属性:chmod a+x xx.py
name=input("your name is :")
拼接字符串,x+y
>>> tem=1
>>> print("tem")
tem
>>> print (str(tem))
1 值与字符串的转换
对于长字符串使用""" """,在字符串中就可以随意使用",不需要\反斜线了。
第二章 列表和元组
python有6种内建序列:列表,元组,字符串,unicode字符串,buffer对象,xrange对象。
列表可以修改,元组不可以。
container:序列(列表,元组,每个元素有编号),映射(字典,每个元素有名字)。
对于序列的特定操作:
index,slice, add, multiply , iteraton ,检查某个元素是否属于序列,长度计算, 找出最大最小元素。
1、index a="hello" a[0]
2、slice a[2:3] a[-2:]取后三个字母 a[8:0:-1]从右往左提取
分片需要动脑:开始的元素在内,但是结束点元素不在内。从右往左需要开始点大于结束点。
3、add [1,2,3]+[2,3,4]
4、multiply "python"*5
5、检测是否在内 "x" in "xw" a=[2,3,4] 2 in a返回布尔值
6、len, min, max
列表:
字符串不能像列表一样被修改,所以根据字符串创建列表很有用
1、元素赋值 x=[1,1,1] x[1]=2 不能为位置不存在的元素赋值,所以需要初始化
2、删除元素 del x[2]
3、分片赋值 name=list("perl") name[2:]=list("ar")
可以进行长度不等的分片替换
可以在不替换任何原元素的基础上添加新元素 name[2:2]=list("ahsbd")
同理,可以用来删除name[2:3]=[]
方法:与函数相关的概念。调用时:对象.方法
列表方法:(注意是否改变原序列,是否有返回)
1、append 在列表末加新对象,只能加一个
2、count计算某个元素出现次数
3、extend 在列表末加另一个序列多个值。就是新列表扩展原列表。
a=[1,1,2] b=[2,2] a.extend(b)改变a列表,但是a+b操作不改变a
4、index 找出某值匹配的位置
5、insert 插入对象
6、pop 移除列表中的一个元素,并返回它的值。x.pop()默认最后一个。x.pop(0)则第一个
7、remove 删除匹配项 x.remove("ap")
8、reverse 元素顺序反过来
9、sort 对原位置对序列排序,如果不想改变原序列,则y=x[:] y.sort
这里y=x[:]很重要!!这是列表复制对简单有效方法。如果y=x,则指向同一个列表。
或是y=sorted(x)
10、高级排序
sort函数的参数 cmp key reverse (key=len按长度排序,reverse=True反向排序)可以自定义函数给cmp和key
元组
生成一个包括一个值的元组:42, (42,)
tuple函数把序列转化为元组
但元组不可替代:映射当键使用