Python
浅浅爱默默
这个作者很懒,什么都没留下…
展开
-
Python基础(10)——匿名函数(lambda)和高阶函数(filter、map、reduce、sorted)
匿名函数python 使用 lambda 来创建匿名函数。lambda只是一个表达式,函数体比def简单很多,特别短,只有一行,只能执行一次,主要用于高阶函数。 lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。实例:f=lambda i,j ...原创 2019-01-25 13:38:25 · 656 阅读 · 0 评论 -
Python基础(8)——控制循环(break、continue、else的用法详解)
一、break的用法break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。 break 语句用在 while 和 for 循环中。 如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。实例:在循环中,break 语句可以提前退出循环。例如,本来要循环打印1~100的数字:n = 1while...原创 2019-02-10 12:22:29 · 3176 阅读 · 1 评论 -
Python基础(16)——类的定义和使用、数据封装(附实例)
我们把一类相同的事物叫做类,其中用相同的属性(其实就是变量)描述,里面封装了相同的方法。比如,火车票是一个类,它包括车次、出发站、到达站、出发日期、出发时间等属性。那么我们需要打印某张车票的车次、出发站、到达站、出发日期、出发时间,只需要使用一句代码 print(" the ticket's checi:‘G37’,fstation:西安,tstation:北京,fdate:201...原创 2019-02-10 19:20:36 · 899 阅读 · 0 评论 -
Python基础(15)——JSON模块的详述(dumps、loads、dump、load的用法)
前言:如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。一、什么是JSON?JSON(JavaScript Object Notation,JS 对...原创 2019-01-30 20:11:31 · 1820 阅读 · 0 评论 -
Python基础(17)——类的继承和多态(附实例)
一、类的继承 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。 在OOP(Object Oriented Programming,面向对象编程)程序设计中,当我们定义一个 class 的时候,可以从某个现有的 class 继承,通过继承创建的新类称为子类或派生类(Subclass),被继承的类称为基类、父类或超类(Base c...原创 2019-02-11 09:28:50 · 967 阅读 · 0 评论 -
Python基础(14)——shelve模块的详述(shelve.open的详细用法)
一、在已有json和pickle的情况下,为什么用shelve?使用json或者 pickle 持久化数据,能 dump 多次,但 load 的话只能取到最新的 dump,因为先前的数据已经被后面 dump 的数据覆盖掉了。如果想要实现 dump 多次不被覆盖,可以使用 shelve 模块。二、shelve模块的特点shelve 是一个简单的数据存储方案,类似 key-value 数据...原创 2019-01-31 08:51:36 · 6940 阅读 · 5 评论 -
Python基础(20)——多进程与多线程的使用、区别(附实例)
一、进程与线程对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的...原创 2019-03-02 12:04:11 · 490 阅读 · 0 评论 -
Python网络编程——TCP编程和UDP编程的使用、区别(附实例)
一、网络编程 计算机网络是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。 举个例子,当你使用浏览器访问新浪网时,你的计算机就和新浪的某台服务器通过互联网连接起来了,然后,新浪的服务器把网页内容作为数据通过互联网传输到你的电脑上。 由于你的电脑上可能不止浏览器,还有QQ、Skype、Drop...原创 2019-03-01 21:24:43 · 1103 阅读 · 0 评论 -
DNS区域传送漏洞实验(nslookup交互式)及二级域名爆破
一、实验环境服务器:Windows server 2008,安装DNS服务(创建A记录),安装IIS服务(搭建一个站点)客户端:Windows 7,DNS设置为Windows server 2008的IP地址二、实验步骤1、在服务器端安装DNS服务2、服务器端配置DNS,在正向查找区域中新建一个区域 — xianligong.edu.cn将动态更新设置为’不允...原创 2019-04-06 09:50:11 · 1411 阅读 · 0 评论 -
利用OS模块为Python程序做一个目录
在学习Python时,少不了要多多编写程序,可是时间一长,当我们想要查找以前写过的某个程序时,少不了要好长一段时间进行查找,说不定还得挨个打开程序进行查找。那么有没有一种简单的方法,能使我们写过的Python程序像一本书的目录那样呈现出来呢?首先在编写程序的时候,我们要养成一个良好的习惯,在每个程序的第一行写上注释,说明这个程序是干什么的; 其次,可以按照自己的个人习惯将程序整理在一个(或...原创 2019-03-02 16:55:13 · 507 阅读 · 0 评论 -
Python编程——利用socket、psutil模块阻止远端主机运行特定程序
设计该程序的思路:1、服务器端处于监听状态,等待客户端的连接。同时服务器定义了黑名单('Calculator.exe','QQ.exe','cmd.exe'),不同主机之间进程的名称可能会有所不同;2、客户端主动连接服务器,创建连接成功后,服务器便将黑名单发送给客户端,并在服务器端打印客户端的IP和端口号,提示发送成功;3、客户端接收到服务器端发送的黑名单后,将其打印出来,并使系统每...原创 2019-03-02 15:04:43 · 411 阅读 · 0 评论 -
使用正则表达式爬取武功未来15天天气预报
此链接是正则表达式的知识点,知识点与实例结合起来有助于理解哦!—— Python基础——正则表达式使用正则表达式爬取武功未来15天天气预报本次我使用的是 " 天气网 " 进行爬虫,爬取的地方名为 " 武功 " ,网站为 www.tianqi.com。本网站可能会反爬虫,解决办法如下:进入该网站,搜索 "武功" 进行天气查询,然后点击 "武功15天天气",进入下面第二张图的界面。...原创 2019-01-25 00:09:40 · 1920 阅读 · 0 评论 -
12306车站信息爬取(2)——统计12306所有全拼重复的车站信息
统计12306所有全拼重复的车站信息代码如下:import requestsurl="https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9090"txt=requests.get(url).textinfo=txt[:-2].split("@")[1:]statio...原创 2019-01-24 23:22:55 · 682 阅读 · 0 评论 -
使用正则表达式进行小说爬虫
此链接是正则表达式的知识点,知识点与实例结合起来有助于理解哦!—— Python基础——正则表达式本次爬虫,我是对努努书坊 — 小说在线阅读中的《后宫:甄嬛传1》进行爬取。爬虫思路如下:1、进入小说目录的界面(此时链接为 url = https://www.kanunu8.com/book/3813/),点击右键,查看网页源代码,找到含有目录的地方,通过下面代码可以将" width=2...原创 2019-01-24 22:57:41 · 3692 阅读 · 6 评论 -
使用Python实现滚动的广告屏幕
滚动的广告屏幕滚动的内容:“2019,成为更好的自己!”代码短短的,但是很有意思,大家可以在自己的电脑上敲一敲!^_^代码#滚动的广告屏幕import timezimu='2019,成为更好的自己!'i=0while True: display=zimu[i:]+zimu[:i] #利用字符串的切片,实现字符位置的变化 i += 1 print(...原创 2019-01-10 23:23:35 · 2897 阅读 · 0 评论 -
12306车站信息爬取(3)——余票信息的查询(内含prettytable和colorama模块)
12306车站信息定向爬虫—可实现查询功能这个程序可实现由键盘输入出发站、到达站、出发日期以及需要查询的天数,首先将全部代码给出,然后我会分块对该代码进行讲解。在此之前,先说一下思路:1、首先从12306网站上将所有的站点信息爬取下来并对其进行处理,使输入的出发站或者到达站的全拼或者汉字转换成站点代号2、对输入的出发日期进行判断,查询时间需在15天内,若不在该范围内,进行提醒并进行重新...原创 2019-01-10 20:51:28 · 1429 阅读 · 0 评论 -
12306车站信息爬取(1)——实现站点所有信息的查询
使用Python实现12306所有站点信息的查询该代码 通过输入查询站点的全拼、简拼或者汉字,便可查询该站点的所有信息。代码如下:#从12306爬取全部火车站信息,能按照汉字、全拼或简拼查询import requestsurl='https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_ver...原创 2019-01-03 16:09:49 · 2011 阅读 · 0 评论 -
Python基础(13)——pickle模块的详述(dumps、loads、dump、load的用法)
一、Python提供了 pickle(泡菜) 模块来实现序列化。那什么是序列化?在程序运行的过程中,所有的变量都是在内存中,比如,定义一个 dict:a = {'name':'Bob','age':20,'score':90}字典 a 可以随时修改变量,比如把 name 改成 'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的 'Bill'存储到...原创 2019-01-30 13:49:41 · 25540 阅读 · 2 评论 -
Python基础(18)——正则表达式(附实例)
以下两条链接是使用正则表达式的爬虫,知识点与实例结合起来有助于理解哦!使用正则表达式进行小说爬虫使用正则表达式爬取武功未来15天天气预报Python正则表达式字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。那么有木有一种方法是专门用来匹配字符串的呢?正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡...原创 2019-01-23 10:39:15 · 557 阅读 · 0 评论 -
Python基础(9)——函数的定义与使用
函数的定义及使用在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。 请注意,函数体内部的语句在执行时,一旦执行到 return 时,函数就执行完毕,并将结果返回。 如果没有 return 语句,函数执行完毕后也会返回结果,只是结果为 None。return None 可以简写为...原创 2019-01-18 23:36:13 · 429 阅读 · 0 评论 -
Python基础(6)——字典(dict)的定义与基本操作
一、字典(Dictionary)字典是一种可变容器类型,可存储任意类型对象。 字典的每个 键(key)值(value)对 用冒号 ' : ' 分割,每个键值对之间用逗号 ' , ' 分割,整个字典包括在花括号 { } 中 ,格式如下所示:a = {key1 : value1, key2 : value2 ,key3 : value3}不允许同一个键出现两次,创建时如果同一个键被赋...原创 2019-01-15 08:58:22 · 3129 阅读 · 0 评论 -
Python中&、and、or 之间的区别
1、概念& 是位运算符,and、or 是逻辑运算符&:位于运算符,参与运算的两个值,如果相应位都为1,则该位的结果为1,否则为0and:所有参数的逻辑值为真时,返回TRUE;只要有一个参数的逻辑值为假,即返回 False2、实例m & n 分析:m=2,n=3,a以二进制表示就是 0000 0010,b以二进制表示就是 0000 0011,故 &...原创 2018-12-01 21:39:27 · 2282 阅读 · 0 评论 -
Python基础(2)——字符串(String)的定义与基本操作
一、字符串(String)字符串是 Python 中最常用的数据类型。我们可以使用引号(单引号 '、双引号 " 或三引号 ''' )来创建字符串。一般单引号、双引号只写一行、三引号用于多行目录+ :字符串的连接符 * :复制当前字符串,紧跟的数字为复制的次数 字符串的长度:len( ) 计算字符串的行数:str.count('\n') 切片(字符串的截取):变量[头下...原创 2019-01-09 21:05:04 · 8430 阅读 · 0 评论 -
Python基础(1)——数字、赋值、逻辑、比较、关系、位等运算操作(and和&的区别)
目录数字运算:+、-、*、/、//(整除)、%(取余)、**(幂次方) 赋值运算:+=、-=、*=、/=、**=、//=、%= 逻辑运算:and、or、not 比较运算:==、!=、>、<、>=、<= 关系运算:in/not in、is/is not 位运算:& 、| 、 ^ (异或) 、 ~ (取反) 、 >> (右移) 、 <...原创 2019-01-09 21:48:57 · 1164 阅读 · 0 评论 -
Python基础(19)——sys模块的使用详解
一、sys模块概述Python 的 sys 模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数。通俗来讲,sys 模块为程序与 Python 解释器的交互,提供了一系列的函数和变量,用于操控 Python 运行时的环境。sys 模块是 Python 中内置的模块,所以不需要再单独安装,只需在使用前 import sys 即可。我们可以通过 dir() 方法查看模块中可用的方法...原创 2019-01-31 12:47:12 · 4539 阅读 · 1 评论 -
Python基础(3)——元组(tuple)的定义与基本操作
一、元组的定义元组名 = ( 元素1 , 元素2 , ... ... )#当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来>>> tup1 = ('Google', 'Runoob', 1997, 2000) Python 的元组与列表类似,不同之处在于元组的元素一旦初始化就不能修改 ( 因此元组又称为只读列表 )。不可变的tuple有什么...原创 2019-01-31 18:54:38 · 18626 阅读 · 0 评论 -
Python基础(4)——列表(list) 的定义与基本操作
序列是Python中最基本的数据结构。Python有6个序列的内置类型 ( 列表、元组、字符串、Unicode 字符串、buffer对象和 xrange 对象 ),但最常见的是列表和元组。序列中的每个元素都分配一个数字 -— 它的位置(或索引),第一个索引是0,第二个索引是1,依此类推。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最...原创 2019-02-01 10:31:23 · 11936 阅读 · 1 评论 -
Python基础(5)——集合(set)的定义和基本操作
一、集合(set)的定义1、定义 set 和 dict一样,只是没有 value,相当于 dict 的 key 集合。由于 dict 中的 key 不能重复,所以,在 set 中没有重复的元素。故集合(set)是一个无序的不重复元素序列。2、集合的格式:集合名 = {元素1 , 元素2 , 元素3 , ... ...}(常用) 集合名 = set( 元素 ...原创 2019-02-02 15:03:19 · 17037 阅读 · 2 评论 -
Python基础(7)——循环语句(for、while、嵌套循环的用法详解)
for 循环 重复执行语句。在循环次数已知时使用for循环,且所有for循环均可用while循环实现。 while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体。在循环次数未知时使用while循环。 嵌套循环 循环体中嵌套循环。 一、for循环for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次...原创 2019-02-10 12:23:34 · 3957 阅读 · 0 评论 -
Python基础(11)——文件读写(附实例)
读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。文件读写的3种模式 1、w —— 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会直接覆盖(相当于删掉后新写入一个文件)。 2、r —— 读模式,只能读,不能写,而且文件必须存在 3、a —— 追加模式,在...原创 2019-01-27 18:01:46 · 485 阅读 · 0 评论 -
Python基础(12)——操作文件和目录(os、shutil 模块的常见用法)
如果我们要操作文件、目录,可以在命令行(cmd命令)下面输入操作系统提供的各种命令来完成。比如 dir、cp(Linux下 cp命令主要用于复制文件或目录)等命令。如果要在 Python 程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python 内置的os模块也可以直接调用操作系统提供的接口函数。打开 Python 交互式命令行,我们...原创 2019-01-27 22:34:56 · 412 阅读 · 0 评论 -
Python如何判断某天是星期几
编码的的思路:1、依次输入要查询日期的年、月、日;2、将输入的日期与2018年进行比较 year>=2018年时:首先判断年份是否是闰年,闰年天数加366,否则天数加365;然后判断月份,如果当年是闰年,月份要按照 list1 相加,否则按照 list2 相加。 year<2018年时:首先判断年份是否是闰年,闰年天数加366,否则天数加365;然后判断月份,如果当...原创 2018-12-24 22:14:38 · 16612 阅读 · 0 评论