1.排序 特点: 1).升序:从小到大 2).降序:从大到小 课堂实现选择排序:参看老郭选择排序.py文件 2.函数:(方法/method) 自定义函数: 概念:它表示一段作用范围(作用域),当中封装了一段业务逻辑代码,此范围有名字, 我们需要调用函数名,才能去执行它: 好处: 1).代码的复用性变强 2).代码的扩展性和维护性变好 3).代码的阅读性变好 函数有五要素: ①.函数修饰符:必须都是def开头 ②.函数返回值:函数执行完毕可能存在有返回值/没有返回值两种情况 ③.函数名:标识符(规…
案例二: python中定义有/无返回值的函数,演示python没有函数重载这一说 需求:自定义函数:计算两个整数的和值两个原则:1).有没形参有,两个 2).有没返回值可有可无 def my_sum(a,b): sum=a+b return sum 调用自定义函数来实现两个整数求和的操作 sum=my_sum(10,20) print('和值为:%d'%sum) def my_sum(a,b): print('和值为:%d' %(a+b)) my_sum(10,20) 什么是函数重载? 在同一…
案例二:冒泡排序 lt1=[45,12,56,-32,-3,44,75,-22,100] print('排序前:'+str(lt1)) 自定义函数:实现冒泡排序(升序)原则:1).有没有形参?有,接受一个列表对象 2).有没有返回值?没有,排完就排完 def bubbleSort(lt): length=len(lt) for i in range(length-1): for j in range(length-1-i): if lt[j]>lt[j+1]: lt[j],lt[j+1]=lt[…
演示函数的定义和使用细节: 默认参数:#在设计自定义函数的时候,就存在一个默认值,就算在调用的时候不显示的传入实参,也不会报错.#会用默认值来代替参与后期的运算 def m1(name='张三',age=23): print(name,age) m1('李四') m1('王五',18) 一般参数:定义函数的时候有几个参数,在调用函数的时候就需要显示的传递几个实参,而且要保证位置不能传错,否则会造成数据内容的不合理 def m2(name,age,sex): print(name,age,sex)…
整理:4中最常见的自定义函数模型1).无参无返回值2).无参有返回值3).有参无返回值4).有参有返回值 #定义无参无返回值自定义函数 def func1(): print('hello method...') #定义无参有返回值自定义函数 def func2(): return True #定义有参无返回值自定义函数 def func3(a,b): print(a+b) #定义有参有返回值自定义函数 def func4(a,b): # func(a,b) return a if a>b els…
案例一: 演示自定义函数的使用:包含:1).定义格式的掌握2).函数的好处 自定义函数:实现打印矩形的操作两个原则需要考虑:1).有没有形参?有,2个 2).有没有返回值?没有. def printRet(a,b): for i in range(a): for j in range(b): print('*',end='') print() 需求:打印5行5列的矩形 for i in range(5): for j in range(5): print('*',end='') print()…
案例一:选择排序使用选择排序的思想实现列表数据的升序排序 lt=[45,12,56,-32,-3,44,75,-22,100] length=len(lt) # print('排序前:'+str(lt)) 使用嵌套循环来实现外层循环控制轮数,i可以认为是选中空间或者点 for i in range(0,length-1): #内层循环呢控制每一轮执行的次数,j可以认为是比较空间或箭头 for j in range(i+1,length): #判断两空间中的内容,如果选中空间比比较空间中的数据大,…
return关键字的使用:1).结束函数 2).将结果返回给函数的调用者/调用处 [注意事项]1).与return同一作用范围内的后面不要显示书写任何代码,因为永远不可能被执行到,不会报错. 2).return后面也可以不定义任何有效的数据,但是这样会将None值返回给调用处,一般没什么意义. def func1(a,b): print(a+b) #return后面也可以不定义任何有效的数据,但是这样会将None值返回给调用处,一般没什么意义 return #在于return同一作用范围内的后面…
集合中常用的一些函数: 1.add(obj):追加一个obj元素到集合中 pop():从集合中随机弹出一个元素 remove(obj):删除集合中和obj匹配的元素 clear():清空集合 s1={10,100,3.14,'abcd'} s1.add('haha') print(s1.pop()) s1.remove('abcd') s1.clear() 以下代码有问题:set中的pop只能是空的函数,不能传递内容和索引,一传就错...错误类型:TypeError print(s1.pop(1…
1.lt = ['sdfasdfa', 'ewqrewrewqr', 'dsafa12312fdsafd', 'safsadf'] --> 得到长度列表2.tp = ('TOM', 'Lilei', 'JAck', ‘HanmeiMeI’) --> 得到列表(所有元素的首字母大写)3.lt1 = [1,2,3,4]lt2 = [5,6,7,8]计算得到:lt1[0]lt2[0] + lt1[1]lt2[1] + ... 15 + 26 +最终得到累加以后的值 from functools im…
总结:高阶函数以及匿名函数之间的配合使用 from functools import reduce #模块一:lambda和filter的结合使用 #lt = [1,2,3,4,5,6,7,8,9] --> [3,6,9]] lt = [1,2,3,4,5,6,7,8,9] print(list(filter(lambda x:x%3==0,lt))) #模块二:lambda和map的结合使用 #容器/序列对象:range对象 mo=map(lambda x:x**2,range(5)) pri…
案例五:求两个列表元素的和,返回新列表lt1 = [1,2,3,4]lt2 = [5,6]效果:[6,8,10,12] lt1=[1,2,3,4] lt2=[5,6] print(list(map(lambda x,y:x+y,lt1,lt2))) 案例六:求字符串中每个单词的长度效果:[7,2,8]content = 'Welcome To ShangHai'#切割是关键,因为一切就是列表了,按照什么切呢?直接split()切 content='Welcome To ShangHai' wor…
3.datetime模块:理解:datetime可以认为是time模块的补充/扩展datetime模块中有一些常用类:datetime类:记录了日期和时间数据信息date类:记录了日期数据信息time类:记录了时间数据信息 datetime类:now()和today():获取当前的日期和时间对象(返回值的类型为:datetime)utcnow():获取当前的日期和时间对象(utc时间,返回值的类型为:datetime) import datetime dt=datetime.datetime.n…
4).函数:findall(regex,string,[flags=0]): 参数: 和match.search一样理解 功能: 将所有匹配成功的子数据(子串),以列表的形式返回: 如果一个都没有匹配成功,那么返回一个空列表 compile()配合search()使用: pat=re.compile(r'www') matchobj=pat.search('www.sina.com!!www.baidu.com.com!!www') print(matchobj) 函数:findall(rege…
函数:search(regex,string,[flags=0]):参数:和match一样理解功能:从头开始匹配字符串中的数据,如果头不匹配继续往后尝试匹配,直到有第一个匹配成功的子数据,立即返回一个match对象:此时就算后面还有匹配的子数据,直接无视...当然匹配不成功,返回None值[注意]:由于search调用完毕之后返回的仍然是一个match对象,所以还是可以调用5个常用的函数 import re print(re.match(r'www','hahawww.baidu.com!!ww…
2).compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags) 可以再通过Pattern对象继续调用match函数(此时只需要传递一个参数:string即可) 注意: 以上函数中涉及的参数:regex.flags.string和re.match中的参数一样理解…
函数:match(regex,string,[flags=0])参数:regex:就是正则表达式(定义了一套验证规则)string:需要被验证的字符串数据flags:模式/标志位,默认情况下(不定义) --> 不开启任何的模式功能:从头开始尝试匹配字符串数据(注意:如果开头就不匹配直接返回None值),如果匹配成功,那么就会返回一个match对象:如果匹配不成功,那么就会返回None值flags的取值:re.I:忽然大小写match对象有5个常用的函数:group():返回匹配成功的数据(原串中…
常用内置函数:round(): print(round(3.14),round(3.99)) print(round(3145.926,-2),round(413.575,2)) abs(): print(abs(-2),abs(-1),abs(0),abs(1),abs(2)) max().min().sum() print(max([1,2,3,4,5])) print(min([1,2,3,4,5])) print(sum([1,2,3,4,5])) 以下比较的是字符串中每个字符的asci…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第十四课:图形字体 图形字体: 在一课我们将教你绘制3D的图形字体,它们可像一般的3D模型一样被变换. 这节课继续上一节课课的内容.在第13课我们学习了如何使用位图字体,这节课,我们将学习如何使用轮廓字体. 创建轮廓字体的方法类似于…
Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化 Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 Python第四天   流程控制   if else条件判断   for循环…
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb') fw=open(dest,'wb') #读和写操作 content=fr.read() fw.write(content) #关闭两个文件 fw.close() fr.close() def copyFile01(src,dest): #1.打开两个文件:1个关联读操作.1个关联写操作 fr=…
Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺骗.session劫持      1 关于嗅探.arp欺骗.会话劫持.............................................................. 1 视频教程地址:http://edu.51cto.com/course/course_id-1887.h…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十四课:3D光晕 3D 光晕 当镜头对准太阳的时候就会出现这种效果,模拟它非常的简单,一点数学和纹理贴图就够了.好好看看吧.   大家好,欢迎来到新的一课,在这一课中我们将扩展glCamera类,来实现镜头光晕的效果.在日常生活…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十四课:地形 从高度图生成地形: 这一课将教会你如何从一个2D的灰度图创建地形 欢迎来到新的一课,Ben Humphrey写了这一课的代码,它是基于第一课所写的. 在这一课里,我们将教会你如何使用地形,你将知道高度图这个概念.…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十四课:扩展 扩展,剪裁和TGA图像文件的加载: 在这一课里,你将学会如何读取你显卡支持的OpenGL的扩展,并在你指定的剪裁区域把它显示出来.   这个教程有一些难度,但它会让你学到很多东西.我听到很多朋友问我扩展方面的内容和…
初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 创建list中所有的元素,而 是在需要的时候创建 ''' #创建generator有2种方式 #第一种将列表表达式中的[]改为()即可 g = (x*x for x in range(10)) print g for n in g: print n #第二种,关键字yield def fab(ma…
Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # 字符串转16进制 '6162636465' h = binascii.hexlify(s) # 作用同上 s = binascii.a2b_hex(h) # 16进制转字符串 'abcde' s = binascii.unhexlify(h) # 作用同上 hex(512)           …
演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱码现象显示 3).tell():返回的是文件描述符的字节位 4).对于读操作,必须保证路径中的文件一定是真实存在的,否则报错:FileNotFoundError #打开文件: f2=open(r'F:\PyCharm\多味红豆\python第二十九课——文件读写\a.txt','r',encodin…
孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我们定义类时是否在类的内部代码块中定义过它们,这些私有方法都是存在的.比如已经知道的 __init__ 方法就是其中一个. 一.__str__ 此方法将输出在本身的相关信息文本. 测试: class ghlh(object): name='孤荷凌寒' qq='578652607' newghlh=gh…
孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 在我学习过的所有语言中,对VB系的语言比较喜欢,而对C系和J系语言比较不喜欢. 可能有朋友说,C系和J系功能好得多. 那是事实! 而我之所以对C系和J系语言的不喜欢, 其实只是一个小小的原因 那是因为它们在代码的书写规范上要写那个令人打键盘时非常捉急的 {} 而且频繁使用~~~~~~~ 写出来的代码倒是没有关系,看上去非常整洁,能够清晰明了地看出代块的起止.…