def a4(arg): ret = {} for key,value in arg.items(): if len(value) > 2: ret[key] = value[0:2] else: ret[key] = value return ret dic = {"} r = a4(dic) print(r)…
def a3(arg): ret = [ ] for i in range(len(arg)): if i % 2 == 1: ret.append(arg[i]) else: pass return ret li = [11,22,33,44,55] r = a3(li) print(li) print(r)…
def shifou_space(args): ret = True for a in args: if a.isspace(): ret = False break return ret result = shifou_space("123 12312") print("有空格",result)…
def func1(s): al_num = 0 spance_num = 0 digit_num = 0 others_num = 0 for i in s: if i.isdigit(): # isdigit 判断有没有数字 digit_num += 1 elif i.isspace(): # isspace 判断有没有空格 spance_num += 1 elif i.isalpha(): #isalpha 判断有没有字符 al_num += 1 else: others_num += 1…
1.作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 1==1: name = 'wupeiqi' print name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 2.三元运算 三元运算(三目运算),是对简单的条件语句的缩写. # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 "值1" 赋值给result变量,否则,将"值2"赋值给result变量…
写函数,计算传入字符串中[数字].[字母].[空格] 以及 [其他]的个数 def detection(p): intcount = 0 strcount = 0 othercount = 0 spacecount=0 for i in p: if i.isalpha(): strcount+=1 elif i.isdigit(): intcount+=1 elif i.isspace(): spacecount+=1 else : othercount+=1 return{"数字":…
一.简述普通参数.指定参数.默认参数.动态参数的区别 普通参数:就是放入一个形参,当放入实参时,需要按照顺序给形参值. 指定参数:放入实参时是指定的,不用按照顺序给形参,都能让形参获得相应的参数. 默认参数:在形参内指定一个参数,需要放在形参的最后面.当实参没有给值时,就默认是形参的值. 动态参数:格式:*args 和 **kwargs 前面一个保存为元组,后面一个保存为字典. 二.写函数,计算传入字符串中的[数字].[字母].[空格]和[其他]的个数 #!/bin/bash/env pytho…
一.为什么要使用函数? 1.避免代码重用 2.提高代码的可读性 二.函数的定义与调用 1. def  函数名(参数1,参数2): ''' 函数注释''' print('函数体') return 返回值 定义:def关键字开头,空格之后接函数名和圆括号,最后还要加一个冒号. def是固定的,不能变. 函数名:函数名是包含字母,数字,下划线的任意组合,但是不能以数字开头.虽然函数名可以随便取名,但是一般尽量定义成可以表示函数功能的. 2.函数的调用 返回值=函数名(参数1,参数2)#记得函数名后面加…
# ,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}# 例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)# def func(*args):# mo = args[0] #假设一个最大值# mi = args[0] #假设一个最小值# for el in args:# if el > mo: # 当前这个元素比假设的那个大. 记录当前这个比较大的数# mo = el# if el < mi:#…
函数 在学习本节内容之前,我们先来一起做道数学题. 已知:半径分别为0.1.0.2.0.3的三个圆,分别求这三个圆的面积. 很多读者可能要笑一下,这不是小学的数学问题吗? S = π * r * r # 那么 S1 = π * 0.1 * 0.1 S1 = π * 0.2 * 0.2 S1 = π * 0.3 * 0.3 在上面的表达式中,我们做了3次求圆的面积,这样的代码实际上就是重复代码. 对于上面的表达式,我们可以将面积公式封装到函数中.在需要计算面积的时候,调用函数即可. 在Python…
假如有学生成绩以字典顺序排列:{'Tom': 87, 'Jack': 90, 'Rose': 100.....} 想要根据学生的成绩来进行排序,可以考虑使用sorted函数.但是sorted函数用在字典中,是仅对字典的键进行排序的,而不考虑值. 那么我们可以通过zip函数,将字典转化为一个元组: >>> from random import randint >>> s = {x: randint(60, 100) for x in 'abcdef'} {'a': 72,…
要修改变量的值,需要使用变量类型的指针作为参数或者变量的引用.如果变量是一般类型的变量,例如int,则需要使用int 类型的指针类型int *作为参数或者int的引用类型int&.但是如果变量类型是指针类型,例如char*,那么需要使用该类型的指针,即指向指针的指针类型 char* *,或者该类型的引用类型char*&. 首先要清楚  不管是指针还是值传入函数后都会创建一个副本,函数结束后值内容不能传出来是因为值的副本,而传入的值并没被修改,指针能传出来是因为我们修改的是指针指向的内容而不…
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法bin() #bin() #说明:一个整数转换为一个二进制字符串 ''' bin(...) bin(number) -> string Return the binary representation of an integer or long integer. ''' print bin(28)#0b11100…
本期时间短没来得及写思路,不过我都加了注释,有问题可以@我 import randomimport timedef Phones(number):#生成手机号函数 s = "0123456789"#手机号后8位取值 p = ["186", "151", "132", "134", "168"]#手机号前三位取值 # print( random.choice(s)) phones = []…
(转自廖雪峰网站) 函数定义 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回.因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑. 如果没有re…
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object合并.注意:object如果是整型,必须以列表的方式传入,不可以以整型或元组的方式传入 2.ls.append(object) 将object作为一个整体插入到ls最后,object可以是字符串,元组,列表和字典 3.ls.insert(index, obje…
一.Python open()函数文件打开操作 打开文件会用到open函数,标准的python打开文件语法如下:open(name[,mode[,buffering]])open函数的文件名是必须的,而模式和缓冲参数都是可选的.比如说有个a.txt的文本文件,存放在c:\text下,那么你要打开它可以这样操作:>>>x = open(r 'c:\text\a.txt')用读的模式打开这个路径下的对应文本文件,如果要打开对像不存在,程序会报错. 二.open()函数文件打开模式参数常用值有…
尽管Hadoop框架是用java写的,但是Hadoop程序不限于java,可以用python.C++.ruby等.本例子中直接用python写一个MapReduce实例,而不是用Jython把python代码转化成jar文件. 例子的目的是统计输入文件的单词的词频. 输入:文本文件 输出:文本(每行包括单词和单词的词频,两者之间用'\t'隔开) 1. Python MapReduce 代码 使用python写MapReduce的“诀窍”是利用Hadoop流的API,通过STDIN(标准输入).S…
''' 例1:展示*args的用法,传入多个参数,不进行预先定义. 本例传入了3个参数.没有预先定义.在函数内自动生成元组() ''' def q1(*args): print('例1') print(args) print(type(args)) print(args[0]) t1 = 123 t2 = 234 t3 = 345 q1(t1, t2, t3) print('-----------------') ''' 例2,和例1一样,但是传入字符串,元组,列表,都会在函数内生成元组() 注…
用Python写了一个postgresql函数,感觉很爽 CREATE LANGUAGE plpythonu; postgresql函数 CREATE OR REPLACE FUNCTION myfun1(text)   RETURNS text AS $BODY$ s = args[0] h = 0; n = len(s); for i, c in enumerate(s):         h = h + ord(c)*31**(n-1-i); bits = 4*8; return (h +…
字典 dict1 = {,'class':'first'} print(dict1.keys()) #打印所有的key值 print(dict1.values()) #打印所有的values值 print("dict1['name']:",dict1['name']) #打印name相对应的value值 print(dict1.get('name')) #通过字典的get方法得到name相对应的value值 dict1[ #字典的修改相当于重新赋值!!! dict1['address'…
学习了字典的应用.按老师的要求写一个三级菜单程序. 三级菜单程序需求如下: 1.深圳市的区--街道--社区---小区4级 2.建立一个字典,把各级区域都装进字典里 3.用户可以从1级进入2级再进入3级 4.用户按B键可以返回,按Q键退出 经验总结: (1)写这个程序,又花了半天,开始每次出现print只打印一行的情况.反复想出错在哪里,后面发现choice放在print后面才会出错.以后一定要注意python的格式.python格式要求比较简单,所以必须要注意嵌套格式,特别涉及到多重循环,一个空…
itemgetter函数:对字典列表进行多键排序 from operator import itemgetter list_people = [ {'name': 'Mike', 'age': 22, 'score': 90}, {'name': 'Alice', 'age': 22, 'score': 90}, {'name': 'Lee', 'age': 26, 'score': 92}, {'name': 'Ben', 'age': 26, 'score': 85}, {'name': '…
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时,将是返回一元组: 1 def func2(): 2 '],{'五':'六','七':8}#返回多种数据类型 3 data=func2() 4 print(data) 2 函数参数的调用: 1,位置调用:编写时需要一一对应,如果少了,或是多少都会出错! 1 def func3(x,y): 2 z=x+…
首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的渗透环境,通常第一件事就是安装虚拟机.且在攻击阶段中还需要对受害系统进行控制.常见的后门大多数是利用Metasploit生成,而目前反病毒产品遇到Metasploit文件签名的程序就会添加特征库作为查杀对象,所以开发出自己的后门程序非常必要. 这篇文章将介绍如何写一个具有反向连接功能的后门. 反向连…
函数参数的使用 def foo(x,y): pass foo(1,2) 形参:就是变量名 实参:就是变量值 形参:位置形参,默认参数,*args,命名关键字参数,**kwargs 实参: 按位置传值的叫位置实参 按关键字key=value的形式传值叫关键字实参 位置实参,关键实参 def register(name,age): pass def wrapper(*args,**kwargs): #args=(1,2,3),kwargs={'a':1,'b':2,'c':3} register(*…
前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行猜解.如果手工进行猜解,这就会有很大的工作量.所以这里就使用python写一个自动化脚本来进行猜解,靶场选择的是sqli-labs的第八关. 参考资料:<python安全攻防> 和盲注相关的payload 写脚本之前需要对盲注流程有一个了解.这样写脚本时,思路才不会乱.这里用sqli-labs的第…
常用函数: 1.pow():乘方 2.abs():绝对值 3.round():四舍五入 4.int():转换为整数 5.input():键盘输入(会根据用户的输入来做类型的转换) raw_input():键盘输入(会把用户的输入都作为一个字符串来处理) 6.str():它会把值转换为合理形式的字符串,以例用户可以理解: repr():它会创建一个字符串,它以合法的python表达式的形式来表示值. 7.长字符串带跨行:'''  ''' 原始字符串:r'  ' Unicode字符串:u'  ' 8…
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派---->类----> class2.面向过程: 少林派---->过程---->def3.函数式编程:逍遥派---->函数---->def 函数与函数式编程 1.介绍: 在过去的十年间,大家广为熟知的编程方法无非两种:面向对象和面向过程,其实,无论哪种,都是一种编程的规范或者是…