07 2017 档案
摘要:#-*- coding:UTF-8 -*- # python中定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后在缩进块中写函数体, # 函数的返回值用return返回 def my_abs(x): if x>=0: return x else: return -x #如果没有return语句...
阅读全文
摘要:python如果想让一个类被用于for....in 循环,类型list和tuple那样,可以实现__iter__方法。 这个方法返回一个迭代对象,python的for循环就会不断调用该迭代对象的next()方法拿到循环的下一个值,直到遇到StopIteration错误时退出循环。 把Fib实例作用于
阅读全文
摘要:python中实例创建后可以给实例绑定任何属性和方法 给实例绑定一个属性: 给实例绑定一个方法: 给实例绑定的方法,对另一个实例是不起作用的,为了给所有的实例都绑定方法,可以给class绑定方法 给类绑定方法 上面的set_score方法可以直接定义在class中,但动态绑定允许我们在程序运行的过程
阅读全文
摘要:int 函数可以把字符串转化为整数,当仅仅传入字符串时,int()函数默认按照十进制转换: int函数还提供额外的base参数,默认值为10,如果传入base参数,可以做N进制的转换 假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2(
阅读全文
摘要:函数也是一个对象,也可以赋值个变量,在函数调用时也可以把函数作为参数来传递,传入函数时,可以不去显式的定义函数,直接传入匿名函数 匿名函数lambda x:x*x 相当于: 关键字lambda表示匿名函数,冒号前面的x表示函数参数,匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就
阅读全文
摘要:排序的核心是比较两个元素的大小,python中数字排序可以直接使用sorted函数,如果是字符串或者字典,直接比较数学上的大小是没有意义的。因此,比较过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x<y,则返回-1,如果认为x==y,则返回0,如果认为x>y,则返回1,这样排序算法
阅读全文
摘要:filter()和map一样,接收一个函数和一个序列。和map不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素 过滤出奇数: 过滤掉空字符串:
阅读全文
摘要:#-*- coding:UTF-8 -*- #map()函数接受两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回 def f(x): return x*x result=map(f,[1,2,3,4,5]) print result # ==>> [1, 4, 9, 16, 25] #map()作为高阶函数,...
阅读全文
摘要:#-*- coding:UTF-8 -*- L=[] n=6 r=[1,2,3,4,5,6] for i in range(n): L.append(r[i]) print L # =>[1, 2, 3, 4, 5, 6] #取所有 print L[:] # => [1, 2, 3, 4, 5, 6] #取前三个 print L[0],L[1],L[2] # => 1 ...
阅读全文
摘要:在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数 定义一个函数,包含上述4种参数: 在函数调用的时候,Python解释器自动按照参数位置和参数名把对应的参数
阅读全文
摘要:关键字参数 可变参数允许你传入0个或者任意个参数,这些可变参数在函数调用时会自动组装成一个tuple,而关键字参数允许你传入0个或者任意个含参数名的参数,这些参数在函数内部自动组装成为一个dict 函数person除了必选参数name和age外,还接受关键字参数kw。在调用的时候。可以只传入必选参数
阅读全文
摘要:在python函数中,可以定义可变参数,顾名思义,可变参数就是,传入的参数是可变的例如,给定一组数字a,b,c... 请计算a2 + b2 + c2 + …… 要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c....作为一个list或者tuple传进来,这样
阅读全文
摘要:默认参数的坑 定义一个函数,传入一个list,添加一个end再返回 正常调用时,结果似乎不错 使用默认参数调用时,一开始结果也是对的,但是再次调用时,结果就不对了 从上述调用结果发现,函数每次都记住了上次添加了‘END’后的list,python函数在定义的时候,默认参数L的值就被计算出来了即[],
阅读全文
摘要:默认参数 设置默认参数时,有两点需要注意:一是必选参数在前,默认参数在后,否则python的解释器会报错二是当函数有多个参数时,把变化大的参数放前面,变化小的放后面,变化小的参数就可以作为默认参数 调用power(5)时,相当于调用了power(5,2),而对于n>3的情况,就必须明确的传入n,比如
阅读全文
摘要:scala中Set包含可变set和不可变Set,set的子类HashSet,各有一个扩展了可变和不可变的set特质。 可变set import scala.collection.mutable.Set val movieSet=Set("Hitch","Poltergeist") movieSet+
阅读全文
摘要:对于Tuple可以使用一样的方法 反向操作可以使用zip,将两个list转化为一个map,其中一个list作为key,另一个作为value
阅读全文
摘要:set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。#把list放入set发现报错:a=set([1,2,3,[1,2,3]])print a#报错Typ
阅读全文
摘要:此外,map()也可以返回list,map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。#lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面是表达式,匿名函数有个限制,就是只
阅读全文
摘要:#-*- coding:UTF-8 -*- #for .... in 循环 names=['Michel','Bob','Tracy'] for name in names: print name #for x in ... 把每个元素代入变量 x sum =0 for x in [1,2,3,4,5,6]: sum=sum+x print sum...
阅读全文
摘要:enumerate 函数用于遍历序列中的元素以及它们的下标 遍历字典的key和value
阅读全文
摘要:#-*- coding:UTF-8 -*- tel={'jack':4098,'sape':4139} tel['guido']=4127 print tel #{'sape': 4139, 'jack': 4098, 'guido': 4127} print tel['jack'] #4098 #如果key不存在会报错,避免key不存在的错误,有两种办法,一是通过in判断key是...
阅读全文
摘要:#-*- coding:UTF-8 -*- classmates=["Michael","Bob","Tracy"] print(classmates) #获取list的长度 length=len(classmates) print(length) #访问list中的元素 print(classmates[0]+" "+classmates[1]+" "+classmates[2]) #使...
阅读全文