20170611第五讲

1、内置函数

# print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真
# print(any([0,0,0,0,0]))#判断可迭代的对象里面的值是否有一个为真
# print(bin(10))#十进制转二进制
#下面这些函数都是强制类型转换
# print(bool(‘s‘))#把一个对象转换成布尔类型
# int()#整形
# float()#小数
# str()#zifuc
# dict()#字典
# list()#列表
# set()#集合
# tuple()#元组
def func():
pass
# print(callable(func))#判断传入的对象是否可调用
# print(chr(98))#打印数字对应的ascii
# print(ord(‘b‘))#打印字符串对应的ascii码
# print(dict(a=1,b=2))#转换字典
# print(dir(‘a‘))#打印传入对象的可调用方法

# print(eval(‘a=1‘))
#执行python代码,只能执行简单的,定义数据类型和运算
# print(exec(‘def a():pass‘))#执行python代码
def func(num):
name = ‘88‘
print(locals())
print(globals())
return num
# func(11)
# print(list(filter(func,[0,1,2,3,4])))#在python3里面这么用是没问题
#print(filter(func,[0,1,2,3,4]))#在python2里面这么用是没问题

# filter(func,[1,2,3,4])
#根据前面的函数处理逻辑,依次处理后面可迭代对象里面的每个元素,返回true保存
# print(list(map(func, [0,1, 2, 3, 4])))
#根据前面的函数处理逻辑,依次处理后面可迭代对象里面的每个元素,保存前面函数返回的所有结果 </span>

# print(globals())#返回程序内所有的变量,返回的是一个字典,函数里面的局部变量不会返回
# print(locals())#返回局部变量
# print(hex(111))#数字转成16进制
# print(max(111,12,13,14,16,19))#取最大值
# print(oct(111))#把数字转换成8进制
# print(round(11.1198,2))#取几位小数,会四舍五入
#print(sorted([2,31,34,6,1,23,4],reverse=False))#排序

dic={1:2,3:4,5:6,7:8}
print(sorted(dic.items()))#按照字典的key排序
# print(sorted(dic.items(),key=lambda x:x[1]))#按照字典的value排序
# __import__(‘decorator‘)#导入一个模块

# print(bool(‘s‘))#把一个对象转换成布尔类型
# int()#整形
# float()#小数
# str()#zifuc
# dict()#字典
# list()#列表
# set()#集合
# tuple()#元组
# print(round(11.1198,2))#取几位小数,会四舍五入
#print(sorted([2,31,34,6,1,23,4],reverse=False))#排序
## print(max(111,12,13,14,16,19))#取最大值
# print(list(filter(func,[0,1,2,3,4])))#在python3里面这么用是没问题
#print(filter(func,[0,1,2,3,4]))#在python2里面这么用是没问题
# filter(func,[1,2,3,4])
#根据前面的函数处理逻辑,依次处理后面可迭代对象里面的每个元素,返回true保存
# print(list(map(func, [0,1, 2, 3, 4])))
#根据前面的函数处理逻辑,依次处理后面可迭代对象里面的每个元素,保存前面函数返回的所有结果

装饰器

#1、递归调用
#一个函数自己调用自己就是递归调用,最多一个函数递归调用自己999
#1. 必须有一个明确的结束条件
#2、每次进入更深一层递归时,问题规模相比上次递归都应有所减少
#3、递归效率不高,少用递归
#2、高阶函数
#如果一个函数的入参是一个函数名的话,那这个函数就是一个高阶函数
#函数即变量

#3、python内置函数的用法

#装饰器
#1、函数里面也可以嵌套的定义一个函数
#2、高阶函数
#装饰器说白了就是函数嵌套+高阶函数
#装饰器的作用就是在不改变原有函数的调用方式,入参的情况下,给函数添加新功能
#偷偷摸摸的给函数加上新功能,但是不改变原来的函数
#常用模块
#什么是模块,模块其实就是一个python文件

# def test1():
# num = int(input(‘please enter a number:‘))
# if num%2==0:#判断输入的数字是不是偶数
# return True #如果是偶数的话,程序就退出了,返回true
# print(‘不是偶数请重新输入!‘)
# test1()
# test1()

# def hello(name):
# print(name)
#
# new_hello = hello
# print(type(hello))
# print(type(new_hello))
#如果不明白函数即变量,就看这里

#下面是高阶函数的列子
#如果一个函数的入参是一个函数名的话,那这个函数就是一个高阶函数
# def add(x,y,z):
# #参数z是要传入一个函数名
# res = z(x)+z(y)
# return res
# print(add(‘98‘,‘100‘,int))

#函数的作用域,是就近原则,从里往外找,如果自己函数里有,就拿过来
#如果自己的函数里面没有的话,就去它父级函数里面找
#函数只有被调用才会执行
# name = ‘python‘
# def warpper():#1
# name=‘吴冰‘
# def deco():#2
# name =‘陈冬瓜‘
# def hhh():#3
# name = ‘张莹‘
# print(‘xxx%s‘%name)
# print(‘我在里面%s‘%name)
# hhh()
# deco()
# print(‘外面的name是%s‘%name)
# warpper()
import time,os,sys
def timer(func):
def deco(*args,**kwargs):
#*args,**kwargs用来接收传入函数的参数
start_time = time.time()
res = func(*args,**kwargs)#获取返回值
end_time = time.time()
print(‘runtime‘,end_time-start_time)
return res
return deco

@timer #run = timer(run)
def run():
# start_time = time.time()
print(‘run..‘)
time.sleep(2)
# end_time = time.time()
# print(‘runtime‘, end_time - start_time)
#run == deco,
@timer
def run2(name):
print(name)
time.sleep(0.5)
run2(‘niuhanyang‘)

#上面这个函数其实就是返回了一个函数名而已
#1、调用timer函数的时候,要传入一个方法名,
# timer函数在函数内部定义了一个函数叫做deco
#又在函数deco内部调用了timer里面传入的方法
#run保存的是deco,deco是一个函数,调用run就是调用deco

时间: 2024-11-07 21:16:08

20170611第五讲的相关文章

机器学习基石第五讲笔记

通过前四讲可知,在假设集大小(M)有限的条件下,机器是可以学习的.第五讲的目的是解决M为无限大时,机器是否能学习的问题. 为什么在假设集大小(M)有限的条件下,机器是可以学习的? 1. 其依据是Hoeffding不等式: 这个不等式说明了,训练集的错误率Ein(g)和测试集的错误率Eout(g)的差距太大(>ε)这件事情发生的概率是有上界的,这个上界由M.ε和N(样本量大小)决定. 这个不等式的由来是在第四讲之中.如果某份资料对于假设集的全体,至少存在一个假设g使得Ein(g)和Eout(g)的

PHP100-第五讲 PHP5.4 的while / for / break / continue、PHP5.4 的系统函数和自定义函数

PHP5.4 的while / for / break / continue.PHP5.4 的系统函数和自定义函数 论坛交流:http://bbs.php100.com/read-htm-tid-150407.html PHP5.4 的while / for / break / continue 在PHP编写代码时,我们经常需要让相同的代码块运行很多次.这时候就可以在代码中使用循环语句来完成这个任务.PHP的循环结构类似C中模式,有while.do-while.for PHP5.4 的系统函数和

32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.

32位第五讲,逆向实战干货,快速定位扫雷内存. 首先,在逆向之前,大家先对OD有一个认识. 一丶OD的使用 标号1: 反汇编窗口 (显示代码的地址,二进制指令,汇编代码,注释) 标号2: 寄存器窗口(显示通用寄存器,段寄存器,以及浮点协处理器,32位中还有多媒体寄存器) 标号3: 信息窗口 (这个主要是显示当你运行到的程序的位置处的信息) 标号4: 数据窗口   (内存中的数据,可以在这里查看内存) 标号5:堆栈窗口 (查看栈中的内容,以及变量的内容) 标号6,标号7,标号8 ,属于工具窗口,不

OC基础第五讲--Block、数组高级、字面量

Block 1.1block与函数指针 函数: int sum(int x, int y) { retrun x + y; } 函数指针: 把上面函数原型int sum(int x, int y)中的函数名替换成(*p),即可得到一个函数指针int (*p)(int x, int y). 这个函数表示指针p指向一个函数,这个函数有两个int型参数,返回值是int类型. Block:把函数指针int (*p)(int x, int y)中的'*'换成'^'就是我们block的声明,即int (^p

机器学习中使用的神经网络第五讲笔记

Geoffery Hinton教授的Neuron Networks for Machine Learning的第五讲主要介绍物体识别问题的难点及克服这些难点的方法,重点介绍了数字识别和物体识别中使用的卷积网络. Why object recognition is difficult 我们知道识别真实场景中的物体是很困难的,这一小节我们来介绍造成这些困难的一些东西. Segmentation: 在一个图像中,我们很难将其中的一个物体与其他的物体分隔开.在现实生活中,我们人类有两只眼睛且我们身体可以

第五讲 list

STL 中的list容器 //对已string型list进行添加,删除,查找,插入操作 #include "stdafx.h" #include <iostream> #include <string> #include <list> using namespace std; int main() { list<string> oList; //list不能对相应的对象进行直接操作,只能通过算法或迭代器 //oList[0] = &quo

《上古天真论》第五讲文字版

上古天真论篇第五讲 主讲:徐文兵  主持:梁  冬 播出时间:2008-12-27  23:00—24:00 经文:是以嗜欲不能劳其目,淫邪不能惑其心,愚智贤不肖,不惧于物,故合于道.所以能年皆度百岁而动作不衰者,以其德全不危也. 梁冬:是的重新发现中医太美.大家好!欢迎收听今天晚上国学堂之<黄帝内经>之<上古天真论>之第二段.第三段.依然在我们对面的是我所崇敬的专门研究<黄帝内经>的,而且有趣地专门能把<黄帝内经>讲清楚的厚朴中医学堂堂主徐文兵老师,徐老师

《ArcGIS Engine+C#实例开发教程》第五讲 鹰眼的实现

原文:<ArcGIS Engine+C#实例开发教程>第五讲 鹰眼的实现 摘要:所谓的鹰眼,就是一个缩略地图,上面有一个矩形框,矩形框区域就是当前显示的地图区域,拖动矩形框可以改变当前地图显示的位置,改变矩形框的大小,可以改变当前地图的显示区域大小,从起到导航的作用.鹰眼是地图浏览中常用的功能之一.关于鹰眼的实现方式,最常用的是用一个 MapControl控件显示地图全图,并在上面画一个红色矩形框表示当前地图的显示范围,并实现鹰眼 MapControl 与主窗体的 MapControl 互动.

Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning

原文见http://blog.csdn.net/abcjennifer/article/details/7758797,加入了一些自己的理解 本栏目(Machine learning)包含单參数的线性回归.多參数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检測.大规模机器学习等章节.全部内容均来自Standford