• [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

  • 相关阅读:
    数据结构图文解析之:哈夫曼树与哈夫曼编码详解及C++模板实现
    数据结构图文解析之:二叉堆详解及C++模板实现
    数据结构图文解析之:树的简介及二叉排序树C++模板实现.
    数据结构图文解析之:队列详解与C++模板实现
    数据结构图文解析之:栈的简介及C++模板实现
    数据结构图文解析之:数组、单链表、双链表介绍及C++模板实现
    C++ 顺序容器基础知识总结
    细说new与malloc的10点区别
    C++ 异常机制分析
    C++编译期多态与运行期多态
  • 原文地址:https://www.cnblogs.com/akingseu/p/3405822.html
Copyright © 2020-2023  润新知