我们知道Python是一门面向对象的脚本语言.从C#的角度来看:首先Python支持多继承.Python 类型成员通常都是public的,并且所有成员函数都是virtual的(可以直接重写). 1. 定义类型 类是对象的模板,在Python中我们使用class关键字来定义一个类型. # -- coding: utf-8 -- class Employee(object): # self 关键字就是对象自身的一个引用(类似于C#中的this关键字) def setName(self,name):…
前言 .NetCore中提供的选项框架,我把其理解为配置组,主要是将服务中可供配置的项提取出来,封装成一个类型:从而服务可根据应用场景进行相关配置项的设置来满足需求,其中使用了依赖注入的形式,使得更加简单.便捷:另外和配置(Configuration)系统的无缝结合,使得服务更加灵活:而对于Options我们经常在注册服务中用到,相信只要接触过.NetCore中的小伙伴都知道,在注册服务的时候,经常在参数中进行Options的配置(如下图),可以直接的说:没有Options的服务不是好服务~~~…
1 构造和初始化对象 __init__方法是Python内建众多魔法方法(什么是魔法方法?)中最常见的一个,通过这个方法我们可以定义一个对象的初始操作.当构造函数被调用的时候的任何参数都会传递给__init__方法,然后该方法根据这些参数进行对象的初始化工作: # -- coding: utf-8 -- class Employee(object): def __init__(self,name): self.name = name e = Employee('Sunshine') print…
第一节:初识类的定义和调用 c1.py #类 = 面向对象 #类 最基本作用:封装 #类中不仅可以定义变量 还可以定义函数等等,例: class student( ): name = ' ' age = 0 def print_file(): pass #类的实例化 s = student() #调用类方法 s.print_file() #类中编写的函数与普通编写的函数有区别——self ,例: class student( ): name = ' ' age = 0 def print_fil…
纯文本只能够实现一些简单有限的功能.如果想要实现自动序列化,也可以使用 shelve 模块和 pickle 模块来实现.但是,如果想要自动的实现数据并发访问,以及更标准,更通用的数据库(database)存储方式还是使用数据库. 1. Python 数据库 API 很多支持SQL标准的数据库在Python中都有对应的客户端模块.为了在提供相同功能(基本相同)的不同模块之间进行切换(兼容),Python 规定了一个标准的 DB API.目前API最新版本时 2.0,具体可以参考这里:http://…
安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间.这里是一些常用标准库的简单说明.更多的标准库的说明,可以参考Python文档 sys 模块 sys模块能够访问与Python解释器紧密联系的变量和函数,下面是 sys 模块中一些常用的函数和变量: argv 命令行参数,包括脚本名称 exit([arg]) 退出当前程序,可选参数给定的返回值或错误信息 modules 隐射模块名字到载入模块的字典 path 查看模块所在目录的目录名列表…
1. 抛出异常和自定义异常 Python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行. 1.1 raise 语句 Python中的raise 关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示: # -- coding: utf-8 -- def ThorwErr(): raise Exception("抛出一个异常") #…
1. 创建函数 一个函数代表一个行为并且返回一个结果(包括None),在Python中使用def关键字来定义一个函数,如下: def hello(name): print 'hello,' + name + '!' 接下来调用函数,并查看其返回值: # output: # hello,gy! # None print hello('gy') 可以看到hello函数首先打印了:Hello,gy!,然后我们又将其返回值也打印出来,在这里因为没有返回具体的值,所以返回了None. 下面我们可以定义一个…
1. 赋值语句常用技巧 通过序列解包(sequence unpacking)可以将多个值的序列解开,让后一一放置到变量的序列中.解包的序列中的元素必须和等号左边变量数量一致.如下: values = 1,2,3 print values # output: (1, 2, 3) x,y,z = values # output: 1 2 3 print x,y,z bob_Info = {'name':'Bob','email':'bob@gmail.com'} key,value = bob_In…
字典是Python内建的六种序列之一.字典作为一种常用的数据结构,字典中的值没有特定顺序,每个值都对应于一个唯一的键.键可以是数字.字符串甚至是元组. 1. 创建和使用字典 Python中字典可以使用下面的语法来直接创建字典对象: # ---coding: utf-8 --- phonebook = {':'五'} 字典由多个键以及对应的值组成,每个键及其对应的值为一项.上面的示例中每个阿拉伯数字(key)对应其中文的数字(value). 1.1 使用dict函数 除了使用上面的语法外,还可以通…