Python基础学习笔记
2017.09.10-2017.09.17
1、进入交互式python解释器:python
退出解释器: $ Ctrl-D
2、幂运算符比取反(一元减运算符)的优先级别要高:-3 * * 2 == -(3 ** 2)
3、在python3.0中,print是函数,即需要编写print(42)而不是print 42
4、获取用户的输入:input()
5、如果在交互式解释器内使用if语句,需要按两次回车
6、计算乘方: ①.幂运算符(**) ②.pow()函数
7、计算绝对值:abs()
8、计算平方根:sqrt()
9、取整:floor()
10、可以使用变量来引用函数: foo = math.sqrt
11、复数模块:cmath
12、拼接字符串:a + b
特殊情况:同时写下两个字符串,而且要一个紧接着另一个
13、值被转换为字符串:①、str函数,它会把值转换为合理形式的字符串,以便用户可以理解;
②、repr函数,它会创建一个字符串,以合法的python表达式的形式来表达值。repr(x)也可以写作x
(ps:在python3.0中,已经不再使用反引号了)
>>> print str("Hello, world!")
Hello, world!
>>> print str(10000L)
10000
>>> print repr("Hello, world!")
'Hello, world!'
>>> print repr(10000L)
10000L
14、input()与raw_input()的区别:input会假设用户输入的是合法的Python表达式;raw_input会把所有的输入当作原始数据,然后将其放入字符串中。
>>> input("What is your name? ")
What is your name? "gaolao"
'gaolao'
>>> raw_input("What is your name? ")
What is your name? gaolao
'gaolao'
>>> name = input("Enter:")
Enter:2
>>> print type(name)
<type 'int'>
15、长字符串:
>>>'''String'''
>>>"""String"""
>>> print '''This is a very long story
... It continues here
... And it is not very yet
... "Hello, world!"
... Still here.'''
This is a very long story
It continues here
And it is not very yet
"Hello, world!"
Still here.
(利用该方法可以在字符串之中同时使用单引号或者双引号,普通字符串也可以换行,如果一行之中最后一个字符是反斜线,那么,换行符本身就“转义”了。)
原始字符串:
>>>r"String"
>>>r'String'
原始字符串不会把反斜线当做特殊字符,但是也要像平常一样对引号进行转义,并且不能在原始字符串结尾输入反斜线
16、Unicode字符串
>>>u'String'
(在python3.0中,所有字符串都是Unicode字符串)
17、根据给定的精度对数字进行四舍五入:round(number[, ndigits] )
18、列表可以修改,元组不能修改
19、del语句:按下标来删除列表元素
>>> names = ['Alice','Beth','Cecil','Dee-Dee','Earl']
>>> del names[2]
>>> names
['Alice', 'Beth', 'Dee-Dee', 'Earl']
20、list.append():在列表的末尾追加新的对象
>>> lst = [1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
21、list.count():统计某个元素在列表中出现的次数
>>> ['to','be','or','not','to','be'].count('to')
2
22、list.extend():在列表的末尾一次性追加另一个序列中的多个值
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
23、list.index():从列表中找出某个值第一个匹配项的索引位置
24、list.insert():将对象插入到列表中
>>> numbers = [1,2,3,4,5,6,7]
>>> numbers.insert(3,'four')
>>> numbers
[1, 2, 3, 'four', 4, 5, 6, 7]
25、list.pop():移除列表中的一个元素(默认是最后一个),并且返回该元素的值
>>> x = [1,2,3]
>>> x.pop()
3
>>> x
[1, 2]
>>> x.pop(0)
1
>>> x
[2]
26、list.remove():移除列表中某个值的第一个匹配项
>>> x = ['to','be','or','not','to','be']
>>> x.remove('be')
>>> x
['to', 'or', 'not', 'to', 'be']
27、list.reverse():将列表中的元素反向存放
>>> x = [1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]
28、list.sort()
ps:需要一个排好序的副本,同时又保留原有列表不变:
>>> x = [4,6,2,1,7,9]
>>> y = x[:]
>>> y.sort()
>>> x = [4,6,2,1,7,9]
>>> y = sorted(x)
29、实现包括一个值的元组:加一个逗号
>>> 42,
(42,)
>>> 3*(42+2,)
(44, 44, 44)
>>> 3*(42+2)
132
30、cmp(x,y):比较两个值
31、len(seq):返回序列的长度
32、list(seq):把序列转换成列表
33、max(args):返回序列或者参数集合中的最大值
34、min(args):返回序列或者参数集合中的最小值
35、reversed(seq):对序列进行反向迭代
36、sorted(seq):返回已排序的包含seq所有元素的列表
37、tuple(seq):把序列转换成元组11
38、关于in的用法:
>>> permissions = 'rw'
>>> 'w' in permissions
True
>>> 'x' in permissions
False
>>> users = ['mlh', 'foo', 'bar']
>>> raw_input('Enter your user name: ') in users
Enter your user name: mlh
True
39、sort()函数的高级用法
>>> numbers = [5,2,9,7]
>>> numbers.sort(cmp)
/*按照cmp这个函数来进行排序*/
>>> numbers
[2, 5, 7, 9]
>>>
>>> x = ['aardvark','abalone','acme','add','aerate']
>>> x.sort(key=len)
>>> x
['add', 'acme', 'aerate', 'abalone', 'aardvark']
>>>
>>> x.sort(reverse=True)
>>> x
[9, 7, 6, 4, 2, 1]