Python 学习笔记 6

6.1 字典

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

print "字典"
dic={
    "username":"beazley",
    "home":"/home/beazley",
    "uid":500
    }
print dic

uu=dic["username"]
dd=dic["home"]

print uu
print dd

dic["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 username
else:
    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,remainder

def add(a=1,b=2):
    return a+b

a=1000
b=2000
sum = add(a,b)

print "sum=" + str(sum)

# 重载函数
print add()
print add(2)
print add(b=2)
print add(3,4)

#局部变量和全局变量
val =100
def fun():
    print val

print val

def fun():
    a=100
    print a

print a
fun()
print a

#其它参数
def fun(x):
    print x

# int
fun(100)
#string
fun('python')
fun("python")
#元组
fun(('x',2,4,5))
#列表
fun([1,2,3])
#字典
fun({1:1,2:2,3:3})

##tuple
def fun(x,y):
    print "%s:%s" %(x,y)
fun('zhejiang','gongshang')
tu=('zhejiang','gongshang')
fun(*tu)

def fun(x,*args):
    print x
    print args

fun(10)
fun(10,12,13)

# 字典
def fun(x,**args):
    print x
    print args

fun(10)
fun(x=10,y=12,z=15)

#混合元组和字典
def fun(x,*args,**kwargs):
    print x
    print args
    print kwargs
fun(1,2,3,4,y=10,z=12)

运行结果:

>>>
44 4
sum=3000
3
4
3
7
100
1000
100
1000
100
python
python
('x', 2, 4, 5)
[1, 2, 3]
{1: 1, 2: 2, 3: 3}
zhejiang:gongshang
zhejiang:gongshang
10
()
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 div
a,b=div.divide(123,456)

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

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

import div as foo
a,b=foo.divide(2305,29)

print a
print b

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

import div import *

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

时间: 2024-10-10 19:11:39

Python 学习笔记 6的相关文章

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

python学习笔记12-模块使用

python学习笔记12-模块使用 模块os,sys 什么是模块? 模块os,sys 模块是Python组织代码的一种基本方式 一个Python脚本可以单独运行,也可以导入到另外一个脚本运行,用import hello语句来导入,不用加入.py 什么是Python的 包? Python的模块可以按照目录组织为包 创建一个包的步骤: 创建一个名字为包名的目录 在改目录下创建一个__init__.py文件 根据需要,在该目录下存放脚本文件或已编译的扩展及子包 import pack.m1,pack.

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

python 学习笔记 6 -- 异常处理

当你的程序中出现某些 异常的 状况的时候,异常就发生了.例如,当你想要读某个文件的时候,而那个文件不存在.或者在程序运行的时候,你不小心把它删除了. 那么如果你是在IDE中运行,一个错误发生,异常会被打引出来,这便是未处理异常:当异常发生时,如果没有代码去关注和处理它,这些异常会传给置在Python中的缺省处理,他会输出一些调试信息并且终止运行.如果是在IDE中,这不是什么大事,但是如果是Python程序运行中的异常,它会导致整个程序终止,对于这些情况可以使用异常来处理. 1.try..exce

python 学习笔记 3 -- 数据结构篇上

数据结构是可以处理一些 数据 的 结构 .或者说,它们是用来存储一组相关数据的.在Python中有三种内建的数据结构--列表.元组和字典.本文主要对这三种数据类型以及相关的使用做介绍,以例子的形式演示更加容易理解! 1.列表(List) 列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目.在Python中,你在每个项目之间用逗号分割. 列表中的项目应该包括在**方括号**中,这样Python就知道你是在指明一个列表.一旦你创建了一个列表,你可以添加.删除或是搜索列表中的

python 学习笔记 3 -- 数据结构篇下

5.引用 当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 引用 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存.这被称作名称到对象的绑定.eg. [python] view plaincopy # -*- coding: utf-8 -*- shoplist = ['apple', 'mango', 'carrot', 'banana'] print "we copy the shoplist to mylist directly \"with