您的位置:首页 > 编程语言 > Python开发

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

2016-11-30 11:45 1926 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐