基础语法
python语句字符大小写敏感,标识符只能以字母和下划线开头,后面可以为字母数字下划线
python不支持方法或函数重载
//整除
%取余
**幂运算
print语句
>>> print "%s is number %d!" % ("Python", 1)
Python is number 1!
%s整型 %d数值型 %f浮点数
程序输入
>>> user = raw_input('Enter login name: ')
Enter login name: root
输入一个数值字符串
>>> num = raw_input('Now enter a number: ')
Now enter a number: 1024
>>> print 'Doubling your number: %d' % (int(num) * 2)
Doubling your number: 2048
注释
>>> # one comment
... print 'Hello World!' # another comment
Hello World!
立方
>>> 3**2
9
五种基本数值类型
decimal类型使用前需导入
字符串使用
列表和元组
列表用[ ]包裹,里面的个数和值可修改
元组用()包括,不能修改,可以进行切片运算
都可以使用[ : ]得到子集
用小括号创建tuple:
>>> print(type(a))
<type 'tuple'>
>>> b=(100)
>>> print(type(b))
<type 'int'>
>>> c=(100,)
>>> print(type(c))
<type 'tuple'>
用逗号创建tuple:
>>> d=100,
>>> print(type(d))
<type 'tuple'>
>>> e=100,200,300,
>>> print(type(e))
<type 'tuple'>
tuple索引操作:
>>> test=['a','b','c']
>>> print(test)
['a', 'b', 'c']
>>> t2=tuple(test)
>>> print(t2[2])
c
tuple的分片操作:
>>> test=['a','b','c']
>>> print(test[:])
['a', 'b', 'c']
>>> print(test[:2])
['a', 'b']
>>> print(test[-1::-1])
['c', 'b', 'a']
tuple的相加:
>>> a=100,200,300
>>> b=('a','b','c')
>>> a+b
(100, 200, 300, 'a', 'b', 'c')
嵌套元组
双层循环访问:
>>> a=((1,2,3),('a','b','c'),(100,200,300))
>>> for i in a:
... print(i)
... for j in i:
... print(j)
...
(1, 2, 3)
1
2
3
('a', 'b', 'c')
a
b
c
(100, 200, 300)
100
200
300
>>>
单层循环:(只适合元组里面的元素组相等)
>>> for i,j,k in a:
... print(i,j,k)
...
(1, 2, 3)
('a', 'b', 'c')
(100, 200, 300)
常用的元组函数
>>> a=(1,4,3,6,8,34,6,34)
>>> print(len(a))
8
>>> print(max(a))
34
>>> print(min(a))
1
>>> print(a.count(34))
2
>>> print(a.index(34))
5
tuple特殊用法,a、b值进行互换
>>> a=1
>>> b='oo'
>>> print(a,b)
(1, 'oo')
>>> a,b=b,a
>>> print(a,b)
('oo', 1)
>>>
集合
无序、不重复
通过set关键字表示:
>>> a=[1,2,4,3,7,2,1,1,1,2,5,9]
>>> b=set(a)
>>> print(b)
set([1, 2, 3, 4, 5, 7, 9])
>>>
通过大括号表示:
>>> c={1,6,7,8,4,5,6,3,3,3,3,6,6,6,2,3}
>>> print(c)
{1, 2, 3, 4, 5, 6, 7, 8}
>>>
集合的遍历:
>>> a={(7,8,9),(1,2,3),('a','b','c')}
>>> for i,j,k in a:
... print(i,j,k)
...
a b c
7 8 9
1 2 3
>>>
用集合a生成集合b:
>>> a={(7,8,9),(1,2,3),('a','b','c')}
>>> b={i for i in a}
>>> print(b)
{('a', 'b', 'c'), (7, 8, 9), (1, 2, 3)}
>>>
过滤数据:
>>> a={1,2,3,4,5,6,7,8,9}
>>> b={i for i in a if i%2==0}
>>> print(b)
{8, 2, 4, 6}
>>>
for循环:
>>> a={1,2,3,4}
>>> b={i**2 for i in a}
>>> print(b)
{16, 1, 4, 9}
>>> c={m*n for m in a for n in a}
>>> print(c)
{1, 2, 3, 4, 6, 8, 9, 12, 16}
>>>
集合的内置函数:
>>> c
{1, 2, 3, 4, 6, 8, 9, 12, 16}
>>> print(len(c))
9
>>> print(max(c),min(c))
16 1
>>> c.add(7)
>>> c
{1, 2, 3, 4, 6, 7, 8, 9, 12, 16}
>>>
删除操作:
remove、discard:remove删除不存在的元素会报错,discard不会
>>> c
{1, 2, 3, 4, 6, 7, 8, 9, 12, 16}
>>> c.remove(4)
>>> c.remove(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 4
>>> c.discard(4)
>>>
集合的数学操作:
>>> a={1,2,3,4,5}
>>> b={4,5,6,7,8}
>>> print(a.intersection(b))
{4, 5}
>>> print(a.difference(b))
{1, 2, 3}
>>> print(a-b)
{1, 2, 3}
>>> print(a.union(b))
{1, 2, 3, 4, 5, 6, 7, 8}
frozenset 冰冻集合:不允许修改的集合
>>> print(a)
{1, 2, 3, 4, 5}
>>> b=frozenset(a)
>>> print(b)
frozenset({1, 2, 3, 4, 5})
字典
用{}表示