为什么要学习socket? 我们学习这个东东就是为了完成C/S架构的开发 (C:指的是客户端;S:指的是服务端) 服务端就是提供服务的一端 ,而客户端听名字就知道指的是用户使用的一端 学习socket一定要先学习互联网协议: c/s架构的软甲(应用层)是基于网络通信的 >网络的核心是一堆协议,协议既
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/8/23 15:33 # @Author : Mr_zhang # @Site : # @File : 服务端.py # @Software: PyCharm from socket import * import subprocess,struct,...
# !/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/8/22 16:14 # @Author : Mr_zhang # @Site : # @File : server.py # @Software: PyCharm from socket import * import subprocess impo...
该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。 创建文件 来看一个好多软件的常见文档格式如下: 如果想用python生成一个这样的文档怎么做呢? 查找文件 增删改操作
函数式的简单配置 在默认情况下Python的logging模块已经将日志打印到了标准输出中,而且只有大于WARNING级别的日志才会被显示(日志等级为CRITICAL>ERROR>WARNING>DEBUG;)默认的格式日志级别:logger名称:用户输出信息 配置日志级别,日志格式,输出位置 配置
服务端 from socket import * server = socket(AF_INET,SOCK_STREAM) server.bind(('127.0.0.1',8080)) server.listen(3) print('server startting...') while True: conn,addr = server.accept() print(addr...
服务端 from socket import * import time server = socket(AF_INET,SOCK_STREAM) server.bind(('127.0.0.1',8081)) server.listen(3) server.setblocking(False) #accept变为非阻塞状态, print('server startting...') ...
什么是异常? 异常发生之后在他后面的代码就不执行了。 为什么要进行异常处理? 不处理你的程序还怎么运行? 异常处理的方法: 1,使用if判断语句 1 num1=input('>>: ') #输入一个字符串试试 2 int(num1) 1 num1=input('>>: ') #输入一个字符串试试 2
__str__和__repr__ 改变对象的字符串显示__str__,__repr__ 自定义格式化字符串__format__ __del__:对象实例化之后回收实例化,节省内存
特性(property): 作为装饰器使用,调用方式从最初的方法调用改变为属性调用 类方法(classmethod):和类进行交互,单不和实例进行交互 在函数中可以不用上传参数 静态方法(staticmethod):有一些和类相关函数,但不要使用该类或者该类的实例;比如更改环境变量或者修改其他类的属性等。 类方法和静态方法不需要实例化就可以调用类的方法(既不需要实例化) ...
继承:继承是一种创建新类的方式,在Python中,新建的类可以继承一个或者多个父类,父类又可以称为基类或者超类,新建的类称为派生类或者子类。 类的继承分为单继承和多继承: 继承与重用性: 派生:在继承的基础上子类也可以添加自己新的属性(不会影响到父类)。 抽象类与接口类: 接口类: 钻石继承: 多态
面向对象的一个小例子
因为在开发过程中读代码多余写代码,所以保持代码的一致性很重要,,下边就看看都有哪些代码规范 一、代码布局 二、字符串引用 三、表达式和语句中的空格 四、注释 五、版本标签 六、命名规定 七、一些建议
模块 import 一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀 模块的使用:假如自定义一个模块my_moudle.py,文件名my_moudle.py,模块名my_moudle 1 #my_moudle.py 2 print('from the my_mo
1 可以把list,tuple,dict和string相互转化。 2 ################################################# 3 字符串转换成列表 4 >>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" 5 >>>type(a) 6 7 >>> b = eval(a) 8 >>> print b ...
时间模块 1 def v_code(): 2 code = '' 3 for i in range(8): #产生8个字符 4 num = random.randint(0,9) #num取0-9的数字,头尾都顾 5 alf = chr(random.randint(65,90)) 6 alp =
总结 而不用多此一举的先构造一个列表: 小结 使用生成器的优点: 1.延迟计算,一次返回一个结果。也就是说,它不会一次生成所有的结果,这对于大数据量处理,将会非常有用。 2.提高代码可读性
内置函数思维导图: 惊喜不断哟~~~~~~~
递归:在一个函数里调用这个函数本身 修给递归的最大深度 递归实现三级菜单 1 menu = { 2 '北京': { 3 '海淀': { 4 '五道口': { 5 'soho': {}, 6 '网易': {}, 7 'google': {} 8 }, 9 '中关村': { 10 '爱奇艺': {},
装饰器的本质:一个闭包函数 装饰器的功能:在不修改原函数及其调用方式的情况下对原函数的功能镜像扩展 语法糖: 1 import time 2 def timer(func): 3 def inner(): 4 start = time.time() 5 func() 6 print(time.tim
三元运算符 一、命名空间和作用域 命名空间一共分为三种: 三种命名空间之间的加载与取值顺序:(命名空间和作用域是分不开的) 作用域: 二、函数嵌套与作用域链 函数的嵌套调用: 1 def max2(x,y): 2 m = x if x>y else y 3 return m 4 5 def max4
一、为什么要用函数 二、函数的定义与调用 三、函数的返回值 四、函数的参数 五、小结
字符编码 文件处理 打开文件的模式有:
字符串的拼接 字符串的迭代 1 2 3 4 5 6 >>> for x, y in [(1, 1), (2, 4), (3, 9)]: ... print x, y ... 1 1 2 4 3 9 小结: 任何可迭代对象都可以作用于for循环,包括我们自定义的数据类型,只要符合迭代条件,就可以使用f
1、编辑(Editing) 2、查找/替换(Search/Replace) 3、运行(Running) 4、调试(Debugging) 5、导航(Navigation) 6、搜索相关(Usage Search) 7、重构(Refactoring) 8、控制VCS/Local History 9、模版
1、基本数据类型
一、创建字典 二、修改字典: 三、删除字典元素: 四、字典键的特性: 五、字典的内置函数&方法
列表是Python中最基本的数据结构,列表是最常用的数据类型,列表的数据项不需要具有相同的类型。列表中的每一个元素都分配有一个数字 -他的位置,或者是索引,第一个索引是0,第二个是1,一以此类推。Python中有6个序列的内置类型,但是最常见的是列表和元组。序列都可以进行的操作包括索引,切片。。。加
# -*- coding: utf-8 -*- from flask import Flask,render_template,request,redirect,session,url_for import time app = Flask(__name__,template_folder="tem
# -*- coding: utf-8 -*- # import fcrm from fcrm import app if __name__ == '__main__': # fcrm.app.run(port=8081) app.run(port=8081) 启动启动文件,然后自动执行fcrm包下
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号