Python基础知识详解(数据类型、函数、包)

来源:互联网 发布:战龙三国青龙进阶数据 编辑:程序博客网 时间:2024/06/03 17:31

1.首先要注意的是:在Python中,首行不能有空格,因为Python对缩进要求严格


2.十六进制用Ox前缀和0-9,a-f表示


3.布尔值是True、False两种值(请注意大小写)


4.空值None是Python里一个特殊的值


5.for i in range(1,100):

         x++


6.字符串可以用' ' 或 “ ”括起来

要注意的是:本身有' , 用 " "

                      本身有" , 用' ' 

                     本身有' 和 " ,用转义字符\


7.raw字符串

r'      '   表示里面的字符不需要转义

"'Line 1

 Line 2

 Line 3"'  表示多行字符串


8.显示中文  print u'中文'

 UnicodeDecodeError?

第一行加上:   # -*- coding:utf-8 -*-

并选择UTF-8格式保存


9.Python把0、空字符串' ' 和 None看成是False,其他都为True


10.数据类型list

L  = ['Michael','Bob','Tracy']

print L[-1]    表示输出倒数第一个元素

print L[-2]    表示输出倒数第二个元素

L.append(element)   追加元素至末尾

L.insert(index,element)   添加到索引为index的位置

L.pop()  删除list中最后一个元素

L.pop(2)  删除list中索引为2的元素


11.tuple元组,一旦创建,无法修改

t = (0,1,2,3)

创建单元素tuple 

t = (1,)

tuple包含list,list内容可以改变


12.if score >= 60:

        print 'passed'

    else:

print 'unpassed'


     if not age >= 18:

         print 'teenager'


     if score >= 60:

print 'passed'

     elif score > 45:

print 'good'


13.字典 dict

d = {

       'Adam':95,

'Lisa':85,

        'Bart':59                key:value

}      

len(3)   表示字典的集合大小


14.查找

 使用d['Adam'] 或者 d.get('Adam')


15.print x,y      其中,x和y类型可不同,相当于空格

     print x+y    其中,x和y类型必相同


16. dict  占用内存大,但查找速度快

      list   占用内存小,查找速度随元素增加而下降


17.在dict中,key不能重复

     key-value 序对没有顺序

     作为key的元素必须不可变


18.更新dict 

     d['Paul'] =  72


19.遍历dict

for key in d:

print key,':',d[key]


20.s = set(['A','B','C','C'])

       print s 

注意:set会自动去掉重复的元素


21.访问set

>>> 'A' in s

True


22.set存储的元素必须是不变的对象,没有顺序


23.更新set

     s  = set([1,2,3,4])

     s.remove(3)

     s.add(5)


24.abs(argc)   求绝对值函数


25.cmp(x,y)    比较函数

    x < y,返回-1;x  == y,返回0;x > y,返回1


26.编写函数

def my_abs(x):

      if x >= 0:

            return x

      else:

             return -x


27.import math

     t = math.sqrt(b*b - 4*a*c)


28.定义可变参数

def average(*args):

      print len(args)


29.for i in range(3):

           r.append(L[i])     表示L[0]、L[1]、L[2]入队


30.L[0:3]    切片     0,1,2

     L[:3]                  0,1,2

     L[:]                    所有元素

     L[::2]                 每2个取一个

     L[-1]                  取倒数第一个元素

     L[-2:]

     L[:-2]

     L[-3:-1]

倒序切片包含起始索引,不包含结束索引


31.>>>'abc'.upper()

   'ABC'


32.python中,迭代取出的是元素本身,而非元素的索引


33.索引迭代

    for index,name in enumerate(L):

          print index,'-',name


34.迭代dict的value

d = {'Adam':95,'Lisa':85,'Bart':59}

print d.values()

或者 d.itervalues()   节省了生成list所需的内存

迭代dict的key和value

for key,value in d.items():

     print key,':',value

或者 d.iteritems()  不占用额外的内存


35.生成列表

print [x*(x+1) for x in range(1,100,2)]


36.函数式编程

@允许有变量

@支持高阶函数

@支持闭包

@有限度地支持匿名函数

注意:1.变量可以指向函数

           2.函数名是指向函数的变量


37.高阶函数:能接收函数作为参数的函数

   def add(x,y,f):

         return f(x)+f(y)


38.map()函数

    def f(x):

         return x*x

    print map(f,[1,2,3,4])


39.reduce()函数 

     def f(x,y):

          return x+y

     reduce(f,[1,3,5,7,9],可选参数a)

注:f必须接收两个参数


40.s.strip(rm)  删除s字符串中开头、结尾处的rm序列的字符;

当rm 为空时,默认删除空白符(包括 '\n','\r','\t',' ')


41.filter()函数:过滤作用

自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list

def is_odd(x):

      return x%2==1

filter(is_odd,[1,4,6,7,9])


42.自动排序函数 sorted()

sorted([36,5,12,9,21],reversed_cmp)


43.闭包:内层函数引用了外层函数的变量,然后返回内层函数的情况。


44.匿名函数

map(lambda x:x*x,[1,2,3,4])


45. 装饰器

@new_fn

def f1(x):

      return x*2   

上述等价于:

def f1(x):

       return x*2

f1 = new_fn(f1)


46.偏函数

import functools

int2 = functools.partial(int,base=2)


47.包就是文件名

     模块就是xxx.py文件


48.包下面有_int_.py


49.起别名

from logging import log as logger


50.动态导入模块

try:

from cStringIO import StringIO

except ImportError:

     from StringIO import StringIO


51.老版本中使用新版本的功能

from __future__import division




0 0
原创粉丝点击