- 博客(24)
- 收藏
- 关注
原创 26.Python和网络编程
Python和网络编程网络编程1.引子假如有两个脚本,foo.py,bar.py,分别运行,都可以正常运行。但是现在想从两个程序间传递一个数据。同一台电脑创建一个文件,将foo.py的数据读入文件中,bar.py从文件中读取数据。不同电脑间怎么做?软件的开发架构C/S架构C/S即Client和Server———>客户端和服务器端架构B/S架构B/S即B...
2019-08-06 20:21:08
451
原创 25.反射
class Foo: passclass Bar(Foo): passprint(issubclass(Bar,Foo)) #判断Bar是不是Foo的子类 Trueisinstance(obj,cls) 检查obj是否类cls的对象反射所谓反射,是指程序可以访问、检测和修改它本身状态或者行为的一种能力(自省)。在Python中,面向对象的反射是指通过字符串...
2019-08-05 19:43:04
147
原创 面向对象 二
静态方法和类方法1.静态方法通过装饰器@staticmethod来进行装饰。静态方法及不需要传递实例对象。静态方法也可以以通过实例对象和类对象去访问。class Dog: type='狗' def __init__(self): name=None #静态方法 @staticmethod def introduce(): #静态...
2019-08-01 22:55:33
116
原创 装饰器
装饰器@func1def func(): print('aaa')装饰器存在的意义不影响原有函数的功能可以添加新功能一般常见的,比如拿到第三方的API接口,第三方不允许修改这个接口。这个时候,装饰器就派上用场了。装饰器本身也是一个函数,作用就是为现有存在的函数,在不改变函数的基础上,增加一些功能进行装饰。它是以闭包的形式去实现的。在使用装饰器函数时,在被装饰的函数的...
2019-08-01 22:54:15
101
原创 22闭包
闭包什么是闭包闭是封闭,包是包含。闭包:内部函数对外部作用域里的变量的引用函数内的属性,都是有生命周期,都是在函数执行期间闭包内的闭包函数私有化了变量,完成了数据的封装,类似面向对象demo:def foo(): print('in foo()') def bar(): print('in bar()')# 1.直接运行内部函数报错#ba...
2019-08-01 20:25:44
96
原创 21
生成器生成器,利用迭代器,我们可以在每次迭代获取数据时,(通过next()方法)按照特定的规律进行生成。但是我们在实现一个迭代器时,关于当前迭代的状态需要我们自己记录,进而才能根据当前的状态生成下一个数据。为了达到记录当前状态,并配合next()函数进行迭代使用,可以采用更简便的语法。即生成器(generator),生成器是一种特殊的迭代器,他比迭代器更优雅。创建一个生成器列表[]——&...
2019-08-01 20:25:12
100
原创 20
20.迭代器迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起StopIteration异常,以终止迭代(只能往下走,不可以回退)现在,我们就可以说,实现了迭代器协议的对象就是可迭代对象。如何实现?通过在对象内部定义一个__iter__方法。li=[1,2,3]print(li.__iter__())sr='abcd'print(sr.__i...
2019-08-01 20:24:34
92
原创 面向对象
面向对象面向过程函数式编程面向对象面向过程所谓过程就是我们解决问题的步骤,一步步的按照流程走,有先后之分。整个设计就好比流水线,思维上比较机械化。优缺点:优点:复杂的问题流程化,将问题分解简化。缺点拓展性不好面向对象核心是对象。正式的来说对象是一个数据以及相关行为的集合面向对象是功能上指向建模对象通过***数据***和***行为方式***来...
2019-07-29 20:23:34
104
原创 reduce函数、apply函数、zip函数
reduce函数、apply函数、zip函数功对一个序列进行压缩运算,得到一个value。python2中,reduce()是内置函数,而现在,py3中,他被移植到functools模块中。from functools import reduce格式reduce (function,iterable,[initial])function – 需要两个参数iterable...
2019-07-25 19:14:15
209
原创 global、匿名函数、高阶函数、filter、map映射
global、匿名函数、高阶函数、filter函数、map映射globala=7777def foo(): global a print('foo(),修改前a:',a) a=666 print('foo(),修改后a',a)def bar(): print('bar(),a:',a)foo()bar()#foo(),修改前a: 7777...
2019-07-25 19:13:48
145
原创 函数
函数引子:求1-15的和;求23-26的和;求55-68的和。def sum(a,b): s=0 for i in range(a,b+1): s+=i return sprint(sum(23,26))程序而言:函数就是对程序逻辑进行结构化或者过程化的一种编程方法。bulit-in function 内置函数 BIF函数的定义声明函数的一般形式:def f...
2019-07-23 21:46:45
102
原创 错误和异常
错误和异常错误语法错误(syntax error)逻辑错误(logic error)执行期间错误(runtime error)demo:for i in range(10) print(i)out for i in range(10) ^SyntaxError: invalid syntaxPython的语法分析器完成...
2019-07-23 21:46:14
223
原创 文件操作
文件操作常见的文件类型txtcsvjsonhtmlmp4文件操作的流程打开 open()f= open(file)读/写 read()/close()f.read([size]) 从文件中读取指定的字节数,若未指定,读取所有f.readline([size]) 读取整行,包括‘\n’f.readlines([siz...
2019-07-22 21:14:09
73
原创 os模块
os模块Operator Systemos 模块是Python标准库中用于访问操作系统功能的模块。使用OS模块提供的接口,能够实现跨平台访问。最常见的操作:目录的操作判断1.系统操作os.sep 用于查看系统路径的分隔符Windows ‘\\’ubuntu ‘/’os.name 显示我们正在使用的平台Windows ‘nt’Linux/Unix...
2019-07-22 21:13:39
109
原创 模块
模块开发过程中,程序代码越来越多,如果直接放在一个文件里,代码越来越长。 不易维护。为了编写方便维护的代码,可以把不同功能的代码分组,保存在不同的文件里。这样,每个文件包含的代码量就会比较少,更方便维护。在python中,一个.py文件就可以称之为一个模块。即:包含相应功能的函数以及变量,py则以‘.py’为后缀名;模块可以为其他的程序引用,以使用该模块所对应的函数或者变量。使用...
2019-07-22 21:10:53
87
原创 字典
字典思考:场景1如果有列表li = ['Pyhton', 'Java', 'C++'];需要对"pyhton"这个名字写错了,通过代码修改:li[0] = "Python"如果列表的顺序发生了变化,如下li = ['Java', 'C++', 'Pyhton'];此时就需要修改下标,才能完成名字的修改li[2] = "Python"有没有方法,既能存储多个数据,还能...
2019-07-19 17:14:23
326
原创 集合
集合集合是无序的,不重复的且不可以更改的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点:去重,把一个列表变成集合,就自动去重了。关系测试,测试两组数据之前的交集、差集、并集等关系。1.集合的创建1)创建一个空的集合这里需要注意,我们不可以直接用花括号"{}">>> st = set()...
2019-07-19 17:13:47
918
原创 字符串
字符串什么是字符串用引号引起来的一串字符用引号来创建字符串单引号 #不允许换行双引号 #不允许换行三单引号三双引号字符串的运算及常见操作(1)拼接name = 'Hangzhou'area = 'Gongshu'print(name + area) #HangzhouGongshu平拼接基于同一种数据类型(2)重复a = '嘤嘤嘤'pri...
2019-07-19 17:10:25
136
原创 字符串、列表、元组的对比
字符串、列表、元组的对比相同点一、都可以通过索引得到每一个元素的值二、默认索引值总是从零开始三、可以通过切片的到一个范围内的集合四、有很多共同的操作符,如:重复操作符、拼接操作符、成员关系操作符所以把列表、元组、字符串三者统称为序列序列有一些BIF(内置函数)如:list(),作用是:把一个可迭代对象转换为列表a =list() 生成一个空列表[ ]b = ’ I love y...
2019-07-18 17:43:33
626
原创 print补充
a,b,c,*d=1,2,3,4,5,6print(a) #1print(b) #2print(c) #3print(d) #[4, 5, 6]print(type(d)) #<class 'list'>格式化字符串%格式化占位符格式描述%d有符号的整数%s字符串%c字符及ASCII码%o无符号八进制整数...
2019-07-18 17:39:23
216
原创 元组
元组有序可以重复的不可更改的符号使用()定义:1.元组的创建创建一个空元组>>> st = ()>>> st1 = tuple()>>> st, st1((), ())>>> type(st), type(st1)(<class 'tuple'>, <class 'tuple...
2019-07-18 17:38:23
181
原创 列表
列表特点: 是一个有序的,可以重复的序列,可变类型1.创建一个空列表。list1 = []print(type(list1))2.创建一个有多个值的列表,每个值用逗号隔开。lit1 = [18, 25, 16, 22, 28]列表也可以存放不同类型的元素。lst2 = [18, "str", [1, 2, 3], (66, 67), {'name':'Tom', 'age':1...
2019-07-18 17:36:13
110
原创 Python的流程控制
Python的流程控制if条件分支语句Python条件语句就是通过一条或多条语句执行的结果(True/False)来决定执行的代码块。if单分支语句if 逻辑语句: 语句(块)demo:print('Hello world')if True: print('向python致敬')print('welldone')learning='python'if...
2019-07-17 18:41:01
308
原创 python第一天
/[外链图片转存失败(img-0YDEKGc2-1563272670159)(./img/1.jpg)]note姓名年龄住址豪18家公式y=x+1y=x+1y=x+1python的创始人吉多·范罗苏姆编译型和解释型静态语言和动态语言强类型定义语言和弱类型定义语言python是一门动态解释性的强定义语言数据类型数字(number)字符串...
2019-07-16 18:26:54
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人