-
递归函数:
计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示,可以看出:
fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n
fact(n)可以表示为 n * fact(n-1),只有n=1时需要特殊处理。
def fact(n): if n==1: return 1 return n * fact(n - 1)
可变函数fn(args)
查看全部 -
创建单元素tuple
因为
()
既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。单元素 tuple 要多加一个逗号“,”,这样就避免了歧义
查看全部 -
如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀
r
,表示这是一个 raw 字符串,里面的字符就不需要转义了。例如:r'\(~_~)/ \(~_~)/'
但是
r'...'
表示法不能表示多行字符串,也不能表示包含'
和"
的字符串(为什么?)如果要表示多行字符串,可以用
'''...'''
表示:'''Line 1 Line 2 Line 3'''
上面这个字符串的表示方法和下面的是完全一样的:
'Line 1\nLine 2\nLine 3'
还可以在多行字符串前面添加
r
,把这个多行字符串也变成一个raw字符串:r'''Python is created by "Guido". It is free and easy to learn. Let's start learn Python in imooc!'''
查看全部 -
如果字符串本身包含
'
怎么办?比如我们要表示字符串I'm OK
,这时,可以用" "
括起来表示:"I'm OK"
类似的,如果字符串包含
"
,我们就可以用' '
括起来表示:'Learn "Python" in imooc'
如果字符串既包含
'
又包含"
怎么办?这个时候,就需要对字符串的某些特殊字符进行“转义”,Python字符串用
\
进行转义。查看全部 -
#include<stdio.h> int main() { printf("What a fuck !"); return 0; }
查看全部 -
\n 表示换行 \t 表示一个制表符 \\ 表示 \ 字符本身
s = 'Python was started in 1989 by "Guido".\nPython is free and easy to learn.'
print s
Python was started in 1989 by "Guido".
Python is free and easy to learn.
查看全部 -
列表生成式的 for 循环后面还可以加上 if 判断。
查看全部 -
L.[0]=‘bart’查看全部
-
pop()方法总是删掉list的最后一个元素,并且它还返回这个元素.
要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用
pop(2)
把Paul删掉。查看全部 -
list的
insert()
方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素。而append()总是把新的元素添加到 list 的尾部。L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。
L = ['Adam', 'Lisa', 'Bart']
L.insert(2,'Paul')
print L
查看全部 -
Python之倒序访问list
我们可以用 -1 这个索引来表示最后一个元素,类似的,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示.
L = [95.5, 85, 59]
print L[-1]
print L[-2]
print L[-3]
查看全部 -
a = 'python'
print 'hello,', a or 'world'
b = ''
print 'hello,', b or 'world'
查看全部 -
>>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。
写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。
查看全部 -
执行
a = 'ABC'
,解释器创建了字符串 'ABC'和变量 a,并把a指向 'ABC':执行
b = a
,解释器创建了变量 b,并把b指向 a 指向的字符串'ABC':执行
a = 'XYZ'
,解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:所以,最后打印变量
b
的结果自然是'ABC'
了。查看全部 -
因为 Python 的 for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上
注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括: 1. 有序集合:list,tuple,str和unicode; 2. 无序集合:set 3. 无序集合并且具有 key-value 对:dict
查看全部 -
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3
查看全部
举报