python8
编译和解释性语言的区别 编译 典型的C C++ 编译完成之后是可执行文件。 机器码-底层(外文书,但是不懂中文,翻译成中文就可以看) 解释性语言----看一句英文书,让翻译解释一句 解释器写的代码便于移植。(python)
解释型语言还有Java JavaScript
Python是一门动态解释性的强类型定义语言
python的多线程是不能利用多核优势的 (python只有用一个线程) 为了利用多核处理器,看过很多文档,研究很多python相关技术,全部是失望的。 1、Python:受限于GIL,被锁住只能用一个CPU核心。
2、Twisted:其实只有一个线程,何谈多核的利用。
3、Stackless:测试表明其多线程程序的速度比Python使用的native线程方式要快一点,不过一样没法用多核。
4、parallel Python:多进程方式,感觉封装的很龌龊,虽然翻译完了文档,但是仍然没有兴趣去使用。 现在的办法: 1、负载均衡:后面在多台服务器上启动多个Python程序。现在我开发的应用基本上都是用twistd启动的daemon程序。
2、C/S应用:各个进程间用多进程通信。
3、subprocess:使用这个模块,利用外部进程作worker,异步等待结果。 不支持python3的 是Twisted 异步网络框架 cmd 下执行 print("hello world")
window 上 cmd下执行.py文件,需要:python hello.py程序
linux上执行.py文件,首先先赋权限 chmod 755 hello.py
然后执行 ./hello.py
在Linux 下,一定要加这个 #!/usr/bin/env python 声明解释器的 变量的定义:变量是用来存东西的,后来要用到它。
关键字不能声明为变量名如:as,break,def
变量名的第一个字符不能是数字 常量:π 在python没有常量这个概念。PIE 大写,可以改。
烽火戏诸侯
1001-5000 101-1000 1-100
1 1 1
ASCII、 Gb2312、 GBK 、unicode万国码(2个bytes) utf-8(en:1byte, zh:3bytes) 这些编码是向下兼容的
GBK是兼容gb2312,gb2312是兼容ASCII
python3相比python2,一个特别明显的变化,字符集默认支持中文 python2中,先声明utf-8处理我这个字符集
-*- coding:utf-8 -*-
name="你好,世界"
print(name)
''' 三个单引号 是注释多行,如果给它赋一个变量,就是打印多行 IndentationError就是缩进错误
把xx.py放到Site-package(第三方 可以自己写)下,然后import xx.py
SOCK
import socket,os
server = socket.socket() #获得socket实例
server.bind(("localhost",9999)) #绑定ip port
server.listen() #开始监听
print("等待客户端的连接...")
while True:
conn,addr = server.accept() #接受并建立与客户端的连接,程序在此处开始阻塞,只到有客户端连接进来...
print("新连接:",addr )
while True:
print("等待接受指令")
data = conn.recv(1024)
if not data :
print("客户端已断开:")
break
cmd_rec=os.popen(data.decode()).read()
print ("before send",len(cmd_rec))
if len(cmd_rec)==0:
cmd_rec=" output..."
conn.send(str(len(cmd_rec.encode())).encode())
conn.send(cmd_rec)
print("send done")
server.close()
#-*- coding:utf8 -*-
import socket
client=socket.socket()
client.connect(('localhost',9999 ))#端口号大于1024
while True:
cmd=input(">>:").strip()
if len(cmd)==0:
continue
else:
client.send(cmd.encode("utf-8"))
cmd_res_size=client.recv(1024)
print ("sssssssssssssssss",cmd_res_size)
print ("命令结束大小",cmd_res_size)
recv_size=0
recv_data=b''
while recv_size<int(cmd_res_size.decode()):
data=client.recv(1024)
recv_size +=len(data)
recv_data +=data
else:
print("receive done",recv_size)
print(recv_data.decode)
client.close()
python8的更多相关文章
- Python-8 元组tuple
#1 特殊的列表:元组 元组中的元素不可改变 #2 创建.访问 >>> tuple1=(1,2,3) >>> tuple1=1,2,3 >>> t ...
- python8 字符串操作
name = "my name is {name} and i am {year} old" print(name.capitalize()) print(name.count(& ...
- python-8错误调试测试
1-错误处理 import logging try: print('try.......') r = 10/0 except ValueError as e: print('result:', e) ...
- python--8、面向对象的深入知识
面向对象的三大特性 上一篇我们讲的主要内容都符合面向对象的封装特性.那么问题来了?面向对象难道只有封装性么?当然不是,作为一个这么难理解的东西,要是只有封装性都对不起我们死了这么多脑细胞!所以,晴天霹 ...
- python--8、socket网络编程
socket socket可以完成C/S架构软件的开发.须知一个完整的计算机系统是由硬件.操作系统.应用软件三者组成,具备了这三个条件,一台计算机就可以工作了.但是要跟别人一起玩,就要上互联网(互联网 ...
- python--8大排序(原理+代码)
常用的排序方法:冒泡排序.选择排序.插入排序.快速排序.堆排序.归并排序 冒泡排序(Bubble Sort): 比较相邻的元素.如果第一个比第二个大(升序),就交换他们两个. 对每一对相邻元素作同样的 ...
- 《转》python8元组
转自 http://www.cnblogs.com/BeginMan/p/3156235.html 一.元组特性 1.类似列表,但不可变类型,正因如此,它可以做一个字典的key2.当处理一组对象时,这 ...
- Python---8函数(函数的参数&递归函数)
一.函数的参数 Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代 ...
- python8.4景区买票
from threading import Threadimport threadinglock=threading.Lock()num=100#定义买票方法def sale(name): lock. ...
随机推荐
- C#线程系列讲座(2):Thread类的应用
一.Thread类的基本用法 通过System.Threading.Thread类可以开始新的线程,并在线程堆栈中运行静态或实例方法.可以通过Thread类的的构造方法传递一个无参数,并且不返回值(返 ...
- electron Uncaught ReferenceError: jQuery is not defined
用electron写桌面程序时 ui部分的html页面引入的js会用到jquery 用常规的方式引入是不行的,会抛出如题的异常 <script type="text/javascrip ...
- js 多选题选项内容显示在标题下
<body><div class="page-container"> <div class="view-container"> ...
- Notice: Undefined offset 的解决方法
Notice: Undefined offset: 1 in D:\wwwroot\wr\askseo\404.php on line 5 Notice: Undefined offset: 2 in ...
- 使用Navicat for Oracle新建表空间、用户及权限赋予---来自烂泥
Navicat for Oracle是有关Oracle数据库的客户端工具.通过这个客户端,我们可以图形方式对Oracle数据库进行操作. 说 明我们此次试验的Oracle数据库版本是Oracle 10 ...
- [原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 查看真机的系统中sdk的版本
1.adb devices 确保连接上了真机 2.adb shell 进入android系统 3.进入system目录下 4.查看build.prop文件 cat build.prop
- BJFU 1009
描述 现在社会上的抽奖活动简直是太多了.前段时间中国联通就举办了一个很无聊的抽奖活动,规则是每人可以向中国联通的短信系统发送一个实数,系统每天会从这些数字中选择一个无重复(就是有且只有一个)且最小的数 ...
- LDA-math-认识Beta/Dirichlet分布
http://cos.name/2013/01/lda-math-beta-dirichlet/#more-6953 2. 认识Beta/Dirichlet分布2.1 魔鬼的游戏—认识Beta 分布 ...
- 我的AutoCAD二次开发之路 (一)
原帖地址 http://379910987.blog.163.com/blog/static/33523797201011184552167/ 今天在改代码的时候,遇到了AddVertexAt方法的用 ...