Python 学习笔记 6,,6.1 字典字典就是


6.1 字典

字典就是一个关联数组(或者称为哈希表)。它是通过关键字索引的对象的集合。使用大括号{}来创建一个字典。

print "字典"    dic={    "username":"beazley",    "home":"/home/beazley",    "uid":500    }print dicuu=dic["username"]dd=dic["home"]print uuprint dddic["username"]="pxl"dic["home"]="/home/pxl"dic["shell"]="/usr/bin/tcsh"print dic

输出结果:
字典{'username': 'beazley', 'home': '/home/beazley', 'uid': 500}beazley/home/beazley{'username': 'pxl', 'home': '/home/pxl', 'shell': '/usr/bin/tcsh', 'uid': 500}

尽管字符串是最常见的关键字(key)类型,有些对象,例如列表和字典,不可以用来做字典的key,应为他们的内容是允许更改的。还可以利用使用has_key()方法来检验一个键/值对是否存在(或者in操作符)。

if dic.has_key("username"):    username=dic["username"]    print usernameelse:    username="unknown user"    print username#上面的操作还可以用更简单的方法完成username=dic.get("username","unknown user")k=dic.keys() #k=["username","home","uid","shell"]print k#del语句可以删除字典中的特定元素del dic["username"]print dic
运行结果:
pxl['username', 'home', 'shell', 'uid']

6.2 函数

在Python中使用def语句来创建函数。

# 函数 def divide(a,b):    q=a/b    r=a-q*b    return (q,r)m,n=divide(1456,33)print m,n    # Function body    #print quotient,remainderdef add(a=1,b=2):    return a+ba=1000b=2000sum = add(a,b)print "sum=" + str(sum)# 重载函数print add()print add(2)print add(b=2)print add(3,4)#局部变量和全局变量val =100def fun():    print valprint valdef fun():    a=100    print aprint afun()print a#其它参数def fun(x):    print x    # int fun(100)#stringfun('python')fun("python")#元组fun(('x',2,4,5))#列表fun([1,2,3])#字典fun({1:1,2:2,3:3})##tupledef fun(x,y):    print "%s:%s" %(x,y)fun('zhejiang','gongshang')tu=('zhejiang','gongshang')fun(*tu)def fun(x,*args):    print x    print argsfun(10)fun(10,12,13)# 字典def fun(x,**args):    print x    print argsfun(10)fun(x=10,y=12,z=15)#混合元组和字典def fun(x,*args,**kwargs):    print x    print args    print kwargsfun(1,2,3,4,y=10,z=12)
运行结果:

>>> 44 4sum=3000343710010001001000100pythonpython('x', 2, 4, 5)[1, 2, 3]{1: 1, 2: 2, 3: 3}zhejiang:gongshangzhejiang:gongshang10()10(12, 13)10{}10{'y': 12, 'z': 15}1(2, 3, 4){'y': 10, 'z': 12}

6.3 类(class)
Python支持面向对象的编程,在面向对象的编程中,class语句用于定义新类型的对象。

#下面这个类定义了一个简单的栈class Stack(object):    def _init_(self):        self.stack =[ ]    def push(self,object):        self.stack.append(object)    def pop(self):        return self.stack.pop()    def length(self):        return len(self.stack)


6.4 模块(module)与包

当你的程序变得越来越大,为了便于修改和维护,可以把分割成多个相关的文件。Python运行你把函数定义或者公共部分放入一个文件,然后在其他程序或者脚本中将该文件作为一个模块导入。要创建一个模块,把相应的语句和定义放入一个文件,这个文件名就是模块名。

# file: div.py def divide(a,b):    q=a/b    r=a-q*b    return (q,r)

要在其它的程序中使用这个模块:要使用import语句:

import diva,b=div.divide(123,456)

import语句创建一个新的名字空间,该空间包含模块中所有定义对象的名称。要访问这个名字空间,把模块名作为一个前缀来使用这个模块内的对象。

但是如果你希望使用一个不同的模块名来访问这个模块,给import语句加上一个as模块名部分就可以啦。

import div as fooa,b=foo.divide(2305,29)print aprint b


导入一个模块中所有所有内容到当前的名称空间:
import div import *





Python 学习笔记 6,布布扣,bubuko.com

Python 学习笔记 6

评论关闭