
python
juunnry
学习是一种生活,工作是一种享受
展开
-
Python中的GIL(笔记+)
首先,我们要搞清楚的一些概念。程序:程序员开发的代码,还没有运行,保存在磁盘中的。进程:运行中的程序,需要耗费电脑的CPU,内存等资源。线程:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿再运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同...原创 2020-03-17 10:32:51 · 380 阅读 · 0 评论 -
python多线程和多进程、协程入门讲解(笔记)
进程和线程究竟是什么?如何使用进程和线程?什么场景下需要使用进程和线程?协程又是什么?协程和线程的关系和区别有哪些?程序切换-CPU时间的分配首先,我们的任何一个程序都需要运行在一个操作系统中,如Windows XP,RedHat Linux,FreeBSD,AIX等;其次,在操作系统中运行的程序,不止一个,而是成百上千个不同功能的程序,如键盘驱动,显示器驱动,HTTP服务,游...原创 2020-03-16 14:14:36 · 304 阅读 · 0 评论 -
Python中的进程与线程(笔记摘录+理解)
什么是进程(Process):普通的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段。在一个多任务环境中下面的概念可以帮助我们理解两者间的差别:进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程...原创 2020-03-16 11:51:30 · 197 阅读 · 0 评论 -
利用str.format()方法--打印九九乘法表
<备注:以下内容均为自己亲自运行无误后转载,分享是一种习惯,只做学习,不做他用。如有侵权,请联系删除。谢谢!>首先,请熟练掌握str.format()的用法,具体知识点,麻烦自己找文章或者总结学习,在此不做赘述。# 打印九九乘法表def multiplicationTable(): print("矩形块") for i in range(1,...原创 2020-02-21 23:21:24 · 2573 阅读 · 0 评论 -
如何在Linux Ubuntu 16.04下安装及打开PyCharm (professional/community)
方法一:professional 下面开始教程先在PyCharm官网下载安装包链接:https://www.jetbrains.com/pycharm/download/#section=linux选择平台为Linux,可以看到当前版本为2017.1.4,这里分为Professional专业版和Community社区版,区别是专业版是收费,而且功能更多,具体是什么功能我就没仔细了解...原创 2018-09-10 17:07:17 · 11904 阅读 · 0 评论 -
Python-客户端
import socket'''客户端:创建TCP连接时,主动东发起链接的叫做客户端服务端:接收客户端的连接'''# 1、创建以恶socket# 参数1:指定协议 AF_INET 或AF_INET6# 参数2:SOCK_STREAM执行使用面向流的TCP协议sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM)# ...原创 2018-08-12 23:40:10 · 1258 阅读 · 0 评论 -
Python-server
import socket# 创建一个socketserver = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定IP端口server.bind('10.8.153.30',8081)# 监听server.listen(5)print("服务器启动成功......")# 等待连接clientSocket,client...原创 2018-08-12 23:41:39 · 1023 阅读 · 0 评论 -
Python-TCP-client
import socketclient = socket.socket(socket.AF_INET, socket.SOCK_STREAM)client.connect(("10.8.153.30",8081))while True: data = input("请输入给服务器发送的数据") client.send(data.encode("utf-8")) ...原创 2018-08-12 23:43:14 · 3389 阅读 · 0 评论 -
Python -math.function
# 导入库# 库:封装一些功能# math:数学相关的库import mathimport random# 数学功能# 返回数字的绝对值a1 = - 10a2 = abs(a1)print(a2)# 比较两个数的大小a3 =100a4 = 9print((a3 > a4) - (a3 < a4))# 返回给定参数的最大值print(max(...原创 2018-08-12 23:47:46 · 494 阅读 · 0 评论 -
Python-re模块深入
import re'''字符串切割'''str1 = "sunck is a good man"print(str1.split())print(re.split(r" +",str1))'''re.finditer函数原型:finditer(pattern,string,flags=0)参数:patter:匹配的正则表达式string:要匹配的字符...原创 2018-08-07 22:01:12 · 218 阅读 · 0 评论 -
Python-re模块
import re# pip 包管理工具'''re.match函数原型:match(pattern,string,flags=0)patter:匹配的正则表达式string:要匹配的字符串flags:标志位,用于控制正则表达式的匹配方式,值如下re.I 忽略大小写re.L 做本地户识别re.M 多行匹配,影响^和$re.S 是.匹配包括换行符在内的所有字符re....原创 2018-08-07 19:29:06 · 1268 阅读 · 0 评论 -
Python-正则表达式的元字符
import reprint("--------------匹配单个字符与数字--------------")'''r. 匹配除换行符以外的任意字符[0123456789] []是字符集合,表示匹配方括号中所包含的任意一个字符[sunck] 匹配's','u','n','c','k'中任意一个字符[a-z] 匹配任意小写字母[A-Z] ...原创 2018-08-07 19:27:17 · 824 阅读 · 0 评论 -
Python-给你一串字符串,判断着是否是手机号
'''给你一串字符串,判断着是否是手机号'''def checkPhone(str): if len(str) != 11: return False elif str[0] != "1": return False elif str[1:3] != "39" and str[1:3] != "31": print(...原创 2018-08-07 15:29:39 · 8680 阅读 · 0 评论 -
Python-五道练习题(huaxiawudi0727)
'''第一题:去除列表中的重复元素1.列表中的元素有重复,需要去掉重复元素2.要求保留原来的元素顺序3.不需要返回值,直接修改原列表即可'''def duplicate_removal(lt): l = [] for i in lt: if i not in l: l.append(i) lt.clear() ...原创 2018-08-06 21:30:33 · 250 阅读 · 0 评论 -
Python- 函数装饰器
<天道酬勤,抄袭可耻>--分享是一种快乐!(huaxiawudi) 装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。 首先,让我们讨论下如何写你自己的装饰器。...原创 2018-08-10 19:37:02 · 204 阅读 · 0 评论 -
一位大牛整理的Python资源
Python基本安装: * http://www.python.org/ 官方标准Python开发包和支持环境,同时也是Python的官方网站; * http://www.activestate.com/ 集成多个有用插件的强大非官方版本,特别是针对Windows环境有不少改进;Python文档: * http://www.python.org/doc/current/...转载 2018-08-01 21:11:31 · 539 阅读 · 0 评论 -
UDP-maochongfeiQ
import socketudpServer = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)udpServer.bind(('10.8.153.30',8081))import socketimport timestr = "1_1bt4_10#32499#002481627512#0#0#0:1289671407:a:b:2...原创 2018-08-13 00:24:16 · 164 阅读 · 1 评论 -
[转]用python爬虫抓站的一些技巧总结
来源网站:http://www.pythonclub.org/python-network-application/observer-spider学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写google music的抓取脚本的,结果有了强大的...原创 2018-08-29 16:51:52 · 197 阅读 · 0 评论 -
Python中字符串的逆序(随笔)
# 定义一个字符串str = "0123456789"# 求字符串的逆序print(str[-1::-1])#输出结果# 9876543210--点滴源于 积累原创 2019-08-10 11:14:36 · 372 阅读 · 0 评论 -
Python中 数值格式 %.02f 和%.2f的区别??
曾经看大一位大牛是这样说的:它们都是Python C兼容的一种输出格式,前一种输出方式指小数未不足两位时最右边会补0,第二种则不会补0;只能很抱歉的跟大家说一声:上面那种说法是错误的。正确观点:二者没有区别,都是对小数后取两位,小数后超出两位时采用>5入,<=5舍;不足两位时都会自动补0。--世界上本没有大牛,只不过积累 源于点滴!...原创 2019-08-06 09:28:02 · 6146 阅读 · 0 评论 -
Python等语言常用特殊字符的含义:
仅常用,容易混淆的总结一下:% 操作符%d 占位(类型为)一个整数<d:double>%s 占位(类型为)一个字符串<s:string>%f 占位(类型为)一个浮点数<f:float>\n 回车,光标在下一行\r 换行,光标在上一行\t 制表符,八个空格...原创 2019-04-15 16:16:15 · 3932 阅读 · 0 评论 -
Python之Pandas库常用函数大全(含注释)
Python之Pandas库常用函数大全(含注释)前言:本博文摘抄自中国慕课大学上的课程《Python数据分析与展示》,推荐刚入门的同学去学习,这是非常好的入门视频。继续一个新的库,Pandas库。Pandas库围绕Series类型和DataFrame类型这两种数据结构,提供了一种高效便捷的数据处理方式。- Series 类型创建Series类型是一组数据及与之相关的数据索引组成 ...原创 2018-09-28 16:13:04 · 4410 阅读 · 0 评论 -
Python之Matplotlib库常用函数大全(含注释)
Python之Matplotlib库常用函数大全(含注释)plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 testplt.ylabel(‘Grade’) : y轴的名称plt.axis([-1, 10, 0, 6]) : x轴起始于-1,终止于10 ,y轴起始于0,终止于6plt.subplot(3,2,4) : 分成3行...原创 2018-09-28 16:11:17 · 382 阅读 · 0 评论 -
简单的用户交互
简单的用户交互date_age = 100name = input("your name:")age = input("your age:")age1=date_age-int(age)#print("you can still live for ",age1,"years.....")print("you can still live for "+str(age1)+"yea.原创 2018-09-13 22:56:32 · 134 阅读 · 0 评论 -
Python-salary.shop_list(所有代码已亲测)
# l1 = ["Hello", "World", 18,"Apple", "None"]# print([l2.lower() for l2 in l1 if isinstance(l2,str) == True])product_list = [ ("iphone",5800), ("Mac Pro",9800), ("Bike",800), (&q原创 2018-09-18 19:33:20 · 729 阅读 · 0 评论 -
IntelliJ IDEA常用快捷键
在使用IntelliJ Idea的时候,使用快捷键是必不可少的。掌握一些常用的快捷键能大大提高我们的开发效率。有些快捷键可以熟练的使用,但是还有另外一些快捷键虽然很好用,但是由于因为没有形成使用习惯或者没有理解快捷键的用法,甚至之前对一些快捷键根本没有概念,导致不会去使用。对于这些快捷键,如果能够用好,编辑代码的效率必能提高一个水平。所以在此梳理出来,加强自己的使用,形成习惯。一、...原创 2018-09-10 15:58:12 · 151 阅读 · 0 评论 -
Pycharm使用秘籍
在Pycharm的的view中,显示出toolsbar,设置(Ctrl+Alt+s) 也可以。Pycharm的基本使用在Pycharm下为你的python项目配置Python编译器Project当前项目名Setting---Profect:***---Project Interpreter--Add local,选择电脑中安装的python调用程序-Apply。在Pycharm下...原创 2018-09-12 17:00:48 · 720 阅读 · 0 评论 -
详解duck typing鸭子类型程序设计与Python的实现示例
这篇文章主要介绍了详解duck typing鸭子类型程序设计与Python的实现示例,鸭子类型特指解释型语言中的一种编程风格:在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试,“鸭子测试...原创 2018-08-01 20:58:47 · 849 阅读 · 0 评论 -
Python-Python的鸭子类型"
相信python的开发者对于python的鸭子类型比较熟悉,鸭子类型在维基百科中的准确定义是‘是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的集合"决定’。所以这篇文章给大家python的鸭子类型。鸭子类型基本定义首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。以下是维基百科中对...原创 2018-08-01 20:56:19 · 550 阅读 · 0 评论 -
Mixin编程机制:类的装饰器:ES6 中优雅的 mixin 式继承
前几天翻译了一篇文章 六个漂亮的 ES6 技巧,作者介绍了通过 ES6 的新特性实现的 6 种编程技巧。其中最后一种技巧是:“Simple mixins via subclass factories”,我翻译成“通过子类工厂实现简单的合成器”。限于我自身英文水平,也许把 mixin 翻译成“合成器”并不是一个非常严谨的译法,加上作者对这个技巧介绍的篇幅有限,所举的例子比较简单,因此有些同学表示看到...转载 2018-08-01 16:01:50 · 901 阅读 · 0 评论 -
python- ' % '运算符的用途(非常重要)
%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多。...原创 2018-07-26 12:18:01 · 11492 阅读 · 0 评论 -
python-33个关键字(必记)(基础语法:)
--huaxiawudi# python中的33个key(基本语法):# 代码命令如下from keyword import kwlistprint(kwlist)['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', '...原创 2018-07-28 19:50:41 · 12810 阅读 · 0 评论 -
Python中的可迭代对象
迭代是访问集合元素的⼀种⽅式。迭代器是⼀个可以记住遍历的位置的对象。迭代器对象从集合的第⼀个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。1. 可迭代对象我们已经知道可以对list、tuple、str等类型的数据使⽤for...in...的循环语法从其中依次拿到数据进⾏使⽤,我们把这样的过程称为遍历,也叫迭代。但是,是否所有的数据类型都可以放到for......转载 2018-07-20 11:23:56 · 1080 阅读 · 0 评论 -
Python-cut-join
s = 'I love you more than I can say'# 按照指定的内容进行切割, 返回一个列表# sep:指定按照什么内容进行切割# maxsplit:指定切割次数# ret = s.split(' ', maxsplit=1)# ret = s.split()# 从右边开始切割ret = s.rsplit(' ', maxsplit=1)print(ret...原创 2018-08-03 20:04:14 · 276 阅读 · 0 评论 -
Python-find
s = 'Hi buddy, if you have something to say, than say; if you have nothing to say, than go!'# 子串查找,找到返回首次出现的位置(下标),找不到返回-1# ret = s.find('good')# 从后面开始查找# ret = s.rfind('if')# 统计次数# ret = s.co...原创 2018-07-23 12:00:31 · 350 阅读 · 0 评论 -
Python-change
s = 'hello world!'# 转换为大写print(s.upper())# 转换为小写print(s.lower())# 大小写转换print(s.swapcase())# 首字母大写print(s.capitalize())# 每个单词首字母大写print(s.title())# 用指定的新内容替换就内容,count待定print(s.replac...原创 2018-07-23 11:59:19 · 3609 阅读 · 0 评论 -
Python-judge
s = 'Hello'# 是否是全大写print(s.isupper())# 是否是全小写print(s.islower())# 是否每个单词只有首字母大写print(s.istitle())# s = '123'# 是否是全数字print(s.isdecimal())# 是否全是字母print(s.isalpha())s = '123'# 是否全是数字或字...原创 2018-07-23 11:58:14 · 5012 阅读 · 0 评论 -
Python-变量/输入/输出
# 定义变量# 单一赋值a = 10# 统一赋值b = c = d = 20# 对称赋值e, f = 30, 40# 删除变量# del adel(a)# 这里会报NameError错print(a)a = 10b = 20# 输出# sep:指定隔开的内容,默认是空格# end:指定结束的内容,默认是'\n'(换行)# print(a, b, ...原创 2018-07-23 11:56:28 · 188 阅读 · 0 评论 -
列表生成式(快速生成列表)
# 列表生成式:快速生成列表# print([i for i in range(1, 11)])# print([i*2 for i in range(1, 11)])# print([i*i for i in range(1, 11)])# print([str(i) for i in range(1, 11)])print([i for i in range(1, 11) if i...原创 2018-07-23 11:52:33 · 5452 阅读 · 0 评论 -
Python-循环-while
'''# 打印10遍'Hello world'i = 0while i < 10: print('Hello world!') i += 1# 打印1~100直接所有的整数# 计算1 + 2 + ... + 100的和i = 1s = 0while i <= 100: # print(i) s += i i += 1pri...原创 2018-07-23 11:50:48 · 271 阅读 · 0 评论