最近看别人的python代码,有一些问题值得总结。
1、关于** 与* 符号。参考下面描述。
**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16 一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8 *如果是字符串、列表、元组与一个整数N相乘,返回一个其所有元素重复N次的同类型对象,比如"str"*3将返回字符串"strstrstr" 如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中 如定义以下函数 def func(*args):print(args) 当用func(1,2,3)调用函数时,参数args就是元组(1,2,3) 定义以下函数 def func(**args):print(args) 当用func(a=1,b=2)调用函数时,参数args将会是字典{'a':1,'b':2} 如果是在函数调用中,*args表示将可迭代对象扩展为函数的参数列表 args=(1,2,3) func=(*args) 等价于函数调用func(1,2,3) 函数调用的**表示将字典扩展为关键字参数 args={'a':1,'b':2} func(**args) 等价于函数调用 func(a=1,b=2) 问题能不能明确一点,一个问题已经给了八个答案了
2、[]表示数组,[-1]表示取最后一个数,同理,[-2]表示取倒数第二个数;{}表示字典;list表示序列。
3、mean()函数表示求均值;stdev()函数表示求标准方差;.csv文件一般表示数据源文件。
4、len()求长度。
5、序列list,python的基本数据类型。用方括号[, , , , ,]形式表示,内部元素类型可以不一样,即可以是字符串、数字混合出现。
可以访问、更新、删除其中元素,根据索引号。
可以用+ * 操作序列。
可以截取元素list[-1],list[-2]取最后一个元素,取倒数第二个元素。
还可以通过序列函数,对序列进行比较,返回最大最小值,append():末尾添加元素;pop()又移除列表最后一个元素等等。
6、字符串可以使用+连接;*重复;[i]获取对应索引值i的字符值;[:]截取字符串一部分;in/ not in判断;%s,%d字符串格式化;u'hello world'表示unicode字符串。
也有字符串内建函数,比如.isLower(), capitalize()等等
7、数字数据类型,共四种:int,long,float,complex. 数字类型可以相互转化int(x), long(x)。也可利用内建函数pow(x, y), sin(x), random(x, y). 典型常量有pi和e。
8、python有五个标准的数据类型:numbers数字、string字符串、list列表、tuple元祖、dictionary字典。
特别说明:tuple用(,)标识,不能二次赋值,相当于只读列表
list是有序的元素组合,dictionary是无序的元素组合。dictionary灵活性更高。
list用索引号,即偏移量取值;dictionary用key作为所以取值。