-
新的python 运行Unicode 不需要+u了好像
查看全部 -
Python从list删除元素
pop()方法总是默认删掉list的最后一个元素,并且它还返回这个元素,
必须先定位Paul的位置。由于Paul的索引是2,因此,用
pop(2)
把Paul删掉:查看全部 -
Python之添加新元素:
第一个办法是用 list 的
append()
方法,把新同学追加到 list 的末尾:L.append('Paul')
第二个方法是用list的insert()
方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:L.insert(0, 'Paul')查看全部 -
Python中布尔类型:Python把
0
、空字符串''
和None
看成 False,其他数值和非空字符串都看成 Trueand 和 or 运算的一条重要法则:短路计算。
通过 or 运算,可以把空字符串“变成”默认字符串,而非空字符串保持不变。
查看全部 -
Python 中函数调用说明:
1. 函数定义采用 def 作为标识符,
用return 作为返回值得传递
2. 当使用外部函数集时,需要前部加入 import math
在使用其内部各函数时,需要采用 math.sqrt() 的形式
3. 函数的默认参数
在函数定义时,若对参数进行复赋值,则该参数就是默认参数,若调用时,没有传入该参数,则使用默认值进行传递;若传入新的值,则用该新值。
def L(a,b=3)
注意:默认参数需在可变参数的后面。
4. 函数参数列表中含有* 的含义
5 .函数传递参数的不一样,对于可变参数(list,dic)和不可变参数(string, int, truple)的差异
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
def changeInt(a):
a=10
b=2
changeInt(b)
print b # 结果为2
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
def changeme(mylist):
mylist.append([1,2,3,4])
print '函数内取值',mylist
return
mylist=[10,20,30]
changeme(mylist)
print '函数外取值',mylist
函数内取值: [10, 20, 30, [1, 2, 3, 4]] 函数外取值: [10, 20, 30, [1, 2, 3, 4]]
查看全部 -
定义函数的时候,还可以有默认参数。 函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。 我们来定义一个计算 x 的N次方的函数: def power(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s 假设计算平方的次数最多,我们就可以把 n 的默认值设定为 2: def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s 这样一来,计算平方就不需要传入两个参数了: >>> power(5) 25 由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面查看全部
-
Python 元组的说明:
元组表示:(,)来表示
元组内各元素,一旦创建,不可更改。
遍历可采用:
L[0],L[1] 来获取特定的元素。
也可采用for循环,逐个访问。
空元组的判定: if a==( ): or if len(a)==0:
查看全部 -
但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
查看全部 -
当变量为数字的时候,建议先写成浮点型数字。
查看全部 -
不懂。。。
查看全部 -
我们已经了解了dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key。
如果我们希望迭代 dict 对象的value,应该怎么做?
dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value:
Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。
如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。
查看全部 -
想在 for 循环中拿到索引,怎么办?
方法是使用 enumerate() 函数
使用 enumerate() 函数,我们可以在for循环中同时绑定索引index和元素name。但是,这不是 enumerate() 的特殊语法。实际上,enumerate() 函数把:
['Adam', 'Lisa', 'Bart', 'Paul']
变成了类似:
[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]
因此,迭代的每一个元素实际上是一个tuple:
如果我们知道每个tuple元素都包含两个元素,for循环又可以进一步简写为:
for index, name in enumerate(L): print index, '-', name
这样不但代码更简单,而且还少了两条赋值语句。
可见,索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。
查看全部 -
什么是迭代
在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。
在Python中,迭代是通过 for ... in 来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:
for (i=0; i<list.length; i++) { n = list[i]; }
可以看出,Python的for循环抽象程度要高于Java的for循环。
因为 Python 的 for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上。
因此,迭代操作就是对于一个集合,无论该集合是有序还是无序,我们用 for 循环总是可以依次取出集合的每一个元素。
注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括: 1. 有序集合:list,tuple,str和unicode; 2. 无序集合:set 3. 无序集合并且具有 key-value 对:dict
而迭代是一个动词,它指的是一种操作,在Python中,就是 for 循环。
迭代与按下标访问数组最大的不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的。
查看全部 -
对字符串切片
字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串
在很多编程语言中,针对字符串提供了很多各种截取函数,其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。
查看全部 -
对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。
查看全部
举报