[Python杂记2]-<Python基础教程 摘记>

2013-10-28

<Python基础教程>总结摘记

 

1. 数字

1//2 整除;

2**3 幂(乘方) = 2^3 = 8

10000000000000L,L长整型

0xAF--十六进制

010----八进制

 

2. 变量

3.语句

4.或得用户输入

input

x= input("x:")

===返回的是字符串(非数字),但必须用双引号包着,如果输入数字,则返回的是数字

raw_input("y:")

===返回的都是字符串,无论是否输入的是数字

5 函数

6模块

import math

则后续需要用math.abs()这种调用方法

from math import sqrt

则直接sqrt(-1)调用

import cmath: 复数

7 #注释

8 字符串

8.1 单引号字符串,转义引号

双引号能够将其中的单引号直接输出

“let's go”

'"hello world"'

转义

长字符串,原始字符串减少反斜线的使用

8.2字符串拼接 +

8.3 字符串表示 str,repr

repr: 创建一个字符串,以合法的Python表达式的形式来表示值。给编译器看的

eg:

temp = 42

print "temp="+temp#error

修改:

print "temp="+`temp`

or

print "temp="+repr(temp)

or

print "temp="+str(temp)

 

9.

长字符串:

跨越多行,用3引号

 

原始字符串:

前面加个r

这样其中的就不会转义了。而是直接输出。

不能在原始字符串结尾输入反斜线

 

unicode字符串

u开头

 

10.常见方法

abs

cmath.sqrt()

int/long/float/str ()

math.sqrt()

math.ceil()

math.floor()

round(xx)

str()/repr()

 

Chapter 2 列表和元组

11.

索引从前往后,从0开始编号

从后往前,索引从-1开始编号

 

12.

列表和元组的最大区别在于,列表可以修改,元组不可以修改。

 

索引

序列中的所有索引都是从0开始编号的。

 

分片

可以用负数

但要注意:只要左边索引比右边所有晚出现在序列中,则是一个空的序列。

 

记住:取分片,一定是从左往右取。

greetingp[-3:]

 

步长

第3个参数

会按步长来进行分片取字符

 

步长不能为0,可以为负数(从右向左取字符)

注意:负数作为步长的话,开始索引要大于结尾索引

 

 

13 序列相加

 

14 序列相乘

用数字x乘以一个序列会生成新的序列。原来序列被重复X次。‘

None python内建值

sequene = [None]*10

 

15

in

成员资格运算符

 

16.

内建函数

len()===求序列中包含元素的长度

max==

min==返回序列中的最大值和最小值。但参数并非是一个序列

 

17

list函数

list(S)===将S创建为列表

 

18 列表元素可以修改

 

赋值改变

 

删除元素: del 

names = ["aa","bb","cc"]

del names[1]

 

分片赋值

numbers[1:4] = []---类似于删除了

 

列表的方法:

 

append

list.append()

 

count

统计某个元素在列表中出现的次数

 

extend

末尾增加另一个序列

 

index

从列表中找出某个值第一个匹配项的索引位置======没找到引发异常

 

insert(id,value)

将对象插入到列表中

 

pop

移除列表中的一个元素(默认最后一个),并且返回该元素的值

 

remove

移除列表中某个值的第一个匹配项

 

reverse

将列表中的元素反向存放

 

sort

原位置排序

x = ['aa','bb']

y = [:]

 

或者用sorted()

获取已排序的列表副本的方法

 

高级排序

cmp内建函数

 

元组--不可变序列

tuple函数

已一个序列作为参数

 

元组分片

 

==

元组vs列表

元组可以在映射(和集合中的成员)中当作键使用

而列表则不行。

 

Chapter 3 字符串

18

字符串是不可变的

19 格式化字符串

20 find

在较长的字符串中查找子字符串,返回子串所在位置的最左端位置索引。没有找到则返回-1.

21 join

在队列中添加元素

注意:添加的元素必须都是字符错

22 lower

返回字符串的小写字母版

23 upper

大写

24 replace(A,B)

25 split

26 strip()出去两侧(不包括中间的字符串)

27 translate(table,)

转换表,转换部分单个字符。

28 capwords

29 maketrans(from,to)创建转换表

 

Chapter 4字典

30 创建字典

dict = {'a':1,'bb':'ccc'}

31 dict函数=====不可用?

32 len(d)返回键值对数量

d[k]

d[k] = v

del d[k]

k in d

 

33 

clear

copy--浅复制

deepcopy--深复制

#from copy import deepcopy

 

formkeys

使用给定的键建立新的字典,每个键默认对应的值为None

 

get

#用d[key]访问时,如果key不存在会报错。但用get不会

 

has_key

检查字典中是否含有给出的键

 

items--将所有字典以列表形式返回。每一项都来自于键值

iteritems--返回一个迭代器对象而不是列表

 

keys---字典中的键以列表返回

iterkeys

 

pop

获取给定键的值,然后删除该键值对

 

setdefault

当键不存在的时候,setdefault返回默认值并且相应地更新字典,如果键存在,那么就返回与其对应的值。默认值是可选的,如果不设定,会默认使用None.

 

update

update方法可以利用一个字典项更新另一个字典

 

values()

以列表的形式返回字典中的值。

 

itervalues()

返回的迭代器

返回值的列表中可以包含重复元素的值。

 

Chapter 5

34

条件和循环语句

is

同一运算符比较

 

assert 断言语句

 

while(condition):

     doSomeTh

 

for word in words:

     x

 

35

36xrange:

range,一次创建整个序列,而xrange一次只创建

 

break

continue语句

while True

 

列表推导式

[x*x for x in range(10)]

 

[x*x for x in range(10) if x%3=0]

 

pass语句

 

注意:del删除的只是名称,而不是列表本身。

 

exec

执行一个字符串的语句是exec

 

eval

计算Python表达式

 

C6

37

字符串作为参数时不可变

列表可变

 

38 参数名字

hello(greeting='hello',name='world')

 

39 收集参数

def print_param(*params)

*---收集其余参数的位置

params是一个元组

 

可以用 from p in params:

来取

 

def print_param(**keyparam)

**---代表关键字参数,放在一个字典中

 

可以对可变参数进行是否为空的判断和关键字参数是否等于相应值的判断。

40

相反过程

给定一个字典dict_ = {...}

fun(**dict)去调用

41

lambda表达式

 

Chapter 7

==

42 .类

class Person:

     def setName(self,name):

          self.name = name

     

     def getName(self):

          return self.name

 

43 .超类

class A(superA,superAA):

     def setN(self,name):

          self.N = name

 

 

Chapter 8 异常

44 . raise Exception("my exception")

45 . import exceptions

46 . try:

 

    except:

     

    else:

47 .try:

 

   finally:

          

 

Chapter 9:

48 yield

 

Chapter 10:

49 . os模块

os.system()

os.popen

50. fileinput模块

51. Set --sets模块

52. heap:

from heapq import *

heap=[]

for n in data:

     heappush(heap,n)

 

53.deque

from collenctions import deque

 

54. time

44. random

     shuffle

56. re模块

57. logging

58 .getopt

 

--

chapter 11

59.打开文件

open(file,model)

model:

r-read

w-write

a-append

b-binary

+---read/write

 

60.

f = open()

f.write()

f.read()

 

file.readline()

 

61.with语句可以打开文件并且将其赋值到变量上。

with open("") as somefile:

     dosth(somefile)

62.标准的文件读取#文件比较大的时候

 .1

f=open(filename)

while True:

     line = f.readline()

     if not line:

          break

     process(line)

f.close()

 .2

f = open(filename)

for line in f.readlines():

     process(line)

f.close()

 .3

import fileinput

for line in fileinput.input(filename):

     process(line)

 .4

f = open(filename)

for line in f:

     process(line)

f.close()

 

 

C12

图形用户界面

63

wxPython

 

C13

数据库支持

 64

C14

网络编程

socket模块

 65

poll作为服务器端

 

66 urllib模块

 

67 urlbli2模块

 

from urllib import urlopen

webpage = urlopen("http://www.python.org")

 

text = webpage.read()

 

urlretrive(url, localfilename)

 

很多其他的网络模块

 

68 xmlrpclib

 

C15

69 HTMLParser

70 Beautiful Soup

 

C19

71. ConfiguParser模块

eg. from ConfigParser import ConfigParser

72.logging模块

 

C21

73 reportlab

 

 

C22

74 xml

 

C27

75 xml-rpc

原文地址:https://www.cnblogs.com/akingseu/p/3405822.html