1.排序

特点:

1).升序:从小到大

2).降序:从大到小

课堂实现选择排序:参看老郭选择排序.py文件

2.函数:(方法/method)

自定义函数:

概念:它表示一段作用范围(作用域),当中封装了一段业务逻辑代码,此范围有名字,

我们需要调用函数名,才能去执行它;

好处:

1).代码的复用性变强

2).代码的扩展性和维护性变好

3).代码的阅读性变好

函数有五要素:

①.函数修饰符:必须都是def开头

②.函数返回值:函数执行完毕可能存在有返回值/没有返回值两种情况

③.函数名:标识符(规则和规范),自己定义函数的名字

④.形参列表定义在函数名后的小括号内,可以没有也可以定义多个

⑤.函数体封装的功能代码

格式:

① ③(④):

⑤

②

函数的内存执行过程:

栈:

特点:分为栈顶部分和栈底部分,满足先进后出,只运行栈顶的内容;

函数method一旦被执行了,先进栈(入栈) --> 在栈顶开辟空间执行,

如果执行到一半调用了别的函数method02,那么method就被压栈了(顶->底),

method02在开辟空间执行,等到method02执行完毕了,它就被弹栈(出栈)了,

然后method01获取了执行权,它会先升栈(底->顶),到method执行完毕了,它就被弹栈(出栈)了

【注意事项】:

1).形式参数也称形参,实际参数也称实参

2).形式参数出现在定义函数的时候,没有具体的内容,只是开了个口

3).实际参数出现在函数调用的时候,将实际参数给到形式参数 --> 称为参数传递,

之后参与运算的全部都是实参而已

4).return关键字有两层含义:

①.表示函数的结束②.将结果返回给函数的调用者/调用处

5).python中没有函数重载的现象:

什么是函数重载?

在同一个作用范围内定义相同名字的函数,但是形参不同(个位、位置),

在调用函数的时候,通过传入的参数的不同,能得知到底需要执行哪一个函数

python中如果在相同的作用域中定义多个重名的函数,

最后的一个函数,会将之前所有的同名函数全部覆盖,

所以只能调用最后一个同名函数执行

6).与return同一作用范围内的后面不要显示的书写任何代码,因为永远不可能被执行到,不会报错

7).return后面也可以不定义任何有效的数据,但是这样会将None值返回给调用处,一般没有什么意义

4中最常见的自定义函数模型

1).无参无返回值

2).无参有返回值

3).有参无返回值

4).有参有返回值

参数的定义和使用细节:

分类:

1).默认参数:

#在设计自定义函数的时候,就存在一个默认值,就算在调用的时候不显示的传入实参,也不会报错

#会用默认值来代替参与后期的运算
def m1(name='zs',age=23):

print(name,age)

m1("李四")

# m1(18)
2).一般参数:

#定义函数的时候有几个参数,在调用函数的时候就需要显示的传递几个实参,

#而且要保证位置不能传错,否则会造成数据内容的不合理
def m2(name,age,sex):

print(name,age,sex)

m2("王五",30,"男")
3).关键字参数:
def m3(name,age,sex):

print(name,age,sex)

m3(age=25,name="钱八",sex="女")
4).#可变参数:(重要)

格式:

def 函数名(*args,**kwargs):

函数体

参数的讲解:

*args:可以接受0~无穷多个单值,将它们存入到一个元祖中使用

**kwargs:接可以受0~无穷多个键值对,将它们存入到一个字典中使用
def m4(*args,**kwargs):

print(args,type(args))

print(kwargs,type(kwargs))

# m4()

m4(10,0,3.14,True,"abc",name="老郭",hobby="开车")

python第十四课--排序及自定义函数的更多相关文章

  1. python第十四课--排序及自定义函数之自定义函数(案例二)

    案例二: python中定义有/无返回值的函数,演示python没有函数重载这一说 需求:自定义函数:计算两个整数的和值两个原则:1).有没形参有,两个 2).有没返回值可有可无 def my_sum ...

  2. python第十四课--排序及自定义函数之案例二:冒泡排序

    案例二:冒泡排序 lt1=[45,12,56,-32,-3,44,75,-22,100] print('排序前:'+str(lt1)) 自定义函数:实现冒泡排序(升序)原则:1).有没有形参?有,接受 ...

  3. python第十四课--排序及自定义函数之自定义函数(案例五)

    演示函数的定义和使用细节: 默认参数:#在设计自定义函数的时候,就存在一个默认值,就算在调用的时候不显示的传入实参,也不会报错.#会用默认值来代替参与后期的运算 def m1(name='张三',ag ...

  4. python第十四课--排序及自定义函数之自定义函数(案例四)

    整理:4中最常见的自定义函数模型1).无参无返回值2).无参有返回值3).有参无返回值4).有参有返回值 #定义无参无返回值自定义函数 def func1(): print('hello method ...

  5. python第十四课--排序及自定义函数之自定义函数(案例一)

    案例一: 演示自定义函数的使用:包含:1).定义格式的掌握2).函数的好处 自定义函数:实现打印矩形的操作两个原则需要考虑:1).有没有形参?有,2个 2).有没有返回值?没有. def printR ...

  6. python第十四课--排序及自定义函数之案例一:选择排序

    案例一:选择排序使用选择排序的思想实现列表数据的升序排序 lt=[45,12,56,-32,-3,44,75,-22,100] length=len(lt) # print('排序前:'+str(lt ...

  7. python第十四课--排序及自定义函数之自定义函数(案例三)

    return关键字的使用:1).结束函数 2).将结果返回给函数的调用者/调用处 [注意事项]1).与return同一作用范围内的后面不要显示书写任何代码,因为永远不可能被执行到,不会报错. 2).r ...

  8. python第二十四课——set中的函数

    集合中常用的一些函数: 1.add(obj):追加一个obj元素到集合中 pop():从集合中随机弹出一个元素 remove(obj):删除集合中和obj匹配的元素 clear():清空集合 s1={ ...

  9. python六十四课——高阶函数练习题(一)

    1.lt = ['sdfasdfa', 'ewqrewrewqr', 'dsafa12312fdsafd', 'safsadf'] --> 得到长度列表2.tp = ('TOM', 'Lilei ...

随机推荐

  1. C#反射调用外部Dll,执行其中异步函数并取返回值

    using System.Reflection; 1.载入Dll Assembly asm=Assembly.LoadFile(FullPath);//FullPath 为Dll所在位置的全路径. 2 ...

  2. javax.naming.NamingException: Cannot create resource instance报错修改

    //下面内容为网上获取 avax.naming.NamingException: Cannot create resource instance at org.apache.naming.factor ...

  3. 《Programming iOS 7》读书笔记 - 窗体大小与状态栏

    1.从iOS7开始,状态栏开始变为透明的,根识图占领了整个窗体,包括状态栏后面的20像素高的区域,这种样式无法被改变.iOS6的状态栏是不透明的,窗体的尺寸通常会比屏幕的尺寸要小,可以设置窗体的尺寸为 ...

  4. 深入理解MyBatis的原理(三):配置文件用法(续)

    前言:前文讲解了 MyBatis 的配置文件一部分用法,本文将继续讲解 MyBatis 的配置文件的用法. 目录 1.typeHandler 类型处理器 2.ObjectFactory 3.插件 4. ...

  5. Spring boot 入门三:SpringBoot用JdbcTemplates访问Mysql 实现增删改查

    建表脚本 -- create table `account`DROP TABLE `account` IF EXISTSCREATE TABLE `account` ( `id` int(11) NO ...

  6. python中垃圾回收机制

    Python垃圾回收机制详解   一.垃圾回收机制 Python中的垃圾回收是以引用计数为主,分代收集为辅.引用计数的缺陷是循环引用的问题.在Python中,如果一个对象的引用数为0,Python虚拟 ...

  7. PHPCMS v9上传图片提示"undefined"的解决办法

    把phpcms\modules\attachment\attachments.php中将 if(empty($this->userid)){改成 if(empty($_POST['userid' ...

  8. Myeclipse使用过程配置汇总

    1.下载安装及破解方法 myeclipse2014专业版下载地址链接:https://pan.baidu.com/s/1i62YOGt 密码:nlqj    : 下载后安装到最后一步先不要打开软件,如 ...

  9. ArcGIS10.3+Oracle12C+ArcGIS Server10.3安装布署(之一)

    1.安装Oracle12C 2.配置Oracle12C的PDB监听(1)原始listener.ora文件 改为: (2)原始tnsnames.ora文件 改为: 3.连接Oracle12C的PDB数据 ...

  10. Aittit.attilax超级框架 api 规划大全

    Aittit.attilax超级框架 api 规划大全 1 Api分类2 1.1 核心2 1.2 属性2 1.3 CSS2 1.4 选择器2 1.5 文档处理3 1.6 筛选3 1.7 事件3 1.8 ...