随笔分类 -  Python

摘要:递归函数就是函数在自己内部调用自己 运行结果 PS:递归循环允许的最大次数为999次 阅读全文
posted @ 2018-01-31 22:45 Sch01aR#
摘要:全局变量 全局变量 全局变量在函数中能直接访问 运行结果 但是全局变量的值(数字,字符串)不会被函数修改 运行结果 name变量在函数内被修改过,只在函数内有效,不影响全局变量的值,最后打印的全局变量的值还是不变 函数可以修改全局变量定义的列表,字典,集合 运行结果 全局变量里的列表,字典,集合都在 阅读全文
posted @ 2018-01-31 22:35 Sch01aR#
摘要:位置参数 位置参数 根据位置顺序来传递参数 运行结果 按照位置顺序,1赋值给了a,2赋值给了b 关键字参数 关键字参数 根据形参的值来传递参数 运行结果 把1直接赋值给了形参b,把2直接赋值给了形参a 同时使用位置参数和关键字参数 同时使用位置参数和关键字参数 同时使用位置参数和关键字参数进行传参的 阅读全文
posted @ 2018-01-31 16:49 Sch01aR#
摘要:定义一个函数可以在最后加上return返回值,方便查看函数是否运行完成和返回函数的值 运行结果 函数可以不用return,如果没有return返回值,函数返回的值为None 函数可以返回数字,字符串,列表,元组,字典,集合 如果返回多个值,则返回的值将以元组返回 return语句代表函数执行结束,函 阅读全文
posted @ 2018-01-31 15:57 Sch01aR#
摘要:argparse模块可以设置两种命令参数,一个是位置参数,一个是命令参数 位置参数 位置参数 直接不带参数运行 报错,需要传个位置参数 打印了传的参数 可选参数 可选参数 运行结果 没传参数也没有报错,所以参数是可选的,而且参数的顺序也不是按顺序的 -t和--thread都能进行传参数 后面加等号和 阅读全文
posted @ 2018-01-31 01:35 Sch01aR#
摘要:首先需要安装sqlalchemy根据所需情况调用数据库接口,对数据库进行操作pymysql:mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]MySQL-Python:mysql+mysqldb://<user>:<pa 阅读全文
posted @ 2018-01-29 20:05 Sch01aR#
摘要:通过python连接mysql数据库,并插入数据 运行后,在mysql里查看一下结果 数据插入成功 阅读全文
posted @ 2018-01-29 16:42 Sch01aR#
摘要:首先需要安装pymysql模块 然后用pymysql连接mysql并执行命令来查看数据 连接mysql数据库后需要创建游标来执行SQL语句 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import pymysql conn = pymysql 阅读全文
posted @ 2018-01-29 16:15 Sch01aR#
摘要:首先用type()看一下类和实例化对象的类型 运行结果 Person类是一个类,也是一个实例化的对象,是type类的一个实例化对象 定义类有两个方法 一个是常见的 还有一个是很少见到的方法 直接通过type类实例化生成一个对象,同时也是一个类 第一个参数为类名,第二个参数为当前类的基类,第三个参数为 阅读全文
posted @ 2018-01-28 21:07 Sch01aR#
摘要:__doc__ __doc__ 用来表示类的描述信息 运行结果 __class__ __class__ 用来表示当前对象的类 运行结果 当前程序的Person类 __module__ __module__ 用来表示当前操作对象所在的模块 运行结果 __call__ __call__ 实例化的对象后加 阅读全文
posted @ 2018-01-28 17:19 Sch01aR#
摘要:静态方法 静态方法 通过@staticmethod来定义,静态方法在类中,但在静态方法里访问不了类和实例中的属性,但静态方法需要类来调用 运行,报错 把eat方法的参数去掉,直接打印,可以直接调用 运行结果 如果要给eat()传参数的话,可以把实例化的Person传入 运行结果 类方法 类方法 类方 阅读全文
posted @ 2018-01-28 01:45 Sch01aR#
摘要:反射即通过字符串映射或修改程序运行时的状态、属性、方法 有4个方法: hasattr(): hasattr(object,string):object为实例化的对象,string为字符串 判断对象object里是否有对应字符串string的方法或属性,返回布尔型 运行,输入name 类中有name这 阅读全文
posted @ 2018-01-27 22:36 Sch01aR#
摘要:多继承的有两个方式,一个是广度优先,一个是深度优先Python2中经典类按深度优先,新式类按广度优先Python3中经典类和新式类都按广度优先 D继承了B,C B,C分别继承了A 第一级为A,第二级为B和C(左边的优先),第三级为D 首先在Python3环境下运行,看看结果 首先继承了B,把B中内容 阅读全文
posted @ 2018-01-26 18:42 Sch01aR#
摘要:目标:用Python3写一款小型的web目录扫描工具 功能:1.扫描指定站点 2.指定网站脚本类型来扫描 3.可控线程 4.可保存扫描结果 首先定义一个命令参数的函数 def parse_option(): parser = argparse.ArgumentParser(description=" 阅读全文
posted @ 2018-01-26 01:08 Sch01aR#
摘要:首先是关于-h/--help参数的设置 description:位于help信息前,可用于描述helpprog:描述help信息中程序的名称epilog:位于help信息后usage:描述程序的用途add_help:默认为True,设为False后,就不能显示help信息了,执行-h/--help将 阅读全文
posted @ 2018-01-21 22:32 Sch01aR#
摘要:进程池可以减轻多进程对CPU的负担 把一个进程序列放入进程池,使用的时候,就会在进程池中取进程如果进程池中没有进程了,脚本就会等待,直到进程池中有可用进程 进程池生成的子线程,不能直接运行,要放入进程池后才可以运行 串行 下面这个例子是一个串行的进程池, 通过for循环生成了14个子进程,但是进程池 阅读全文
posted @ 2018-01-07 19:26 Sch01aR#
摘要:多进程虽然不允许多个进程同时修改同一份数据,但是多进程也有锁,为了在屏幕上打印的时候不出现两个进程同时执行的显示错误 运行结果 阅读全文
posted @ 2018-01-07 17:55 Sch01aR#
摘要:不同的进程不能同时修改一份数据,但是不同的进程能对一份数据进行修改 可通过Manager来实现进程间的数据共享 运行结果 父进程开启了10个子进程,10个子进程又把自己的进程号传入了数组和字典 阅读全文
posted @ 2018-01-06 22:43 Sch01aR#
摘要:两个进程间的数据是独立的,要进行数据传递的话可通过几个方法 Queue 通过队列来进行进程间数据的传递 运行结果 父进程中声明了一个queue,也生成了一个子进程,然后父进程把queue克隆一份,然后通过pickle序列化queue,再把queue进行pickle反序列化传入子进程 两个进程之间通过 阅读全文
posted @ 2018-01-06 19:17 Sch01aR#
摘要:多进程开启多个进程来执行脚本 开启10个子进程,10个子进程里又开了一个线程 执行结果 可见,多进程执行的时候是按照进程快慢来的,不是按顺序 该脚本运行过程中每个进程都应停留2s,但是10个进程一共只停留2s 阅读全文
posted @ 2017-12-22 21:22 Sch01aR#