深度学习之美(张玉宏)——第四章 人生苦短我用python
1 函数参数
(1)收集参数:以一个星号*加上形参名的方式,表示这个函数的实参个数不定,可能0个可能n个。
def varParaFun(name,*param):
print('位置参数是:',name)
print('收集参数是:',param)
print('第一个收集参数是:',param[0]) varParaFun('数据之美','hello',123,'abc') #位置参数是: 数据之美
#收集参数是: ('hello', 123, 'abc')
#第一个收集参数是: hello
(2)收集参数:用两个星号(**)来标定可变参数,将变参数打包为字典。它表明可变参数是字典元素。调用函数的方法则需要采用诸如 arg I =value l的形式。
def varFun(**param):
if len(param)==0:
print('None')
else:
print(param) varFun(a='beauty',b=2) #{'a': 'beauty', 'b': 2}
2 传值还是传引用——传引用
如果参数传递的是不可变对象,为了维护它的“不可变”属性,函数内部不得不重构一个实参的副本,这个实参的副本即形参和主调函数提供的实参在内存中实际分处于不同位置。因此,对函数形参的修改并不会对实参造成任何影响,因此在结果上看起来和传值一样。函数中对形参的改变只是新生成一个东西,再冠以相同的名称。
def foo1(a):
a=a+('d','e')
print('调用之中:',a) tuple1=('a','b','c')
print('调用之前:',tuple1)
foo1(tuple1)
print('调用之后:',tuple1) def foo2(a):
a.append('可变对象')
print('调用之中:',a) List1=['a',1,2,3]
print('调用之前:',List1)
foo2(List1)
print('调用之后:',List1) #调用之前: ('a', 'b', 'c')
#调用之中: ('a', 'b', 'c', 'd', 'e')
#调用之后: ('a', 'b', 'c') #调用之前: ['a', 1, 2, 3]
#调用之中: ['a', 1, 2, 3, '可变对象']
#调用之后: ['a', 1, 2, 3, '可变对象']
3 面向过程与面向对象
POP(Procedure Oriented Programming )程序=算法+数据结构,设计思想是"How to do",how即指函数。
OOP(Object Oriented Programming)程序=对象+消息传递=(对象+方法)+消息传递,设计思想是“Who to do”,who指即指对象,对象有各种方法。
4 python中的面向对象——类
(1)类:类中的数据成员可大致分为两类:属于对象的数据成员和属于类的数据成员。属于对象的数据成员主要在__init__()中定义,同一个类定义下的不同对象之间互不影响,而属于类的数据成员为所有对象共享。以__开始的数据成员或方法,属于私有的,这类内部成员只能在类内使用不能被继承,但可以通过“对象名._类名__xxx”的方式访问。以_开头的属于保护成员,只对自己和子类开放权限,不能通过“from module import *”的方式引入。“__xxx__”形式属于python系统自定义的特殊成员,如__init__,__del__。类中的方法参数必须包含self且为第一个参数。
class Person:
height=162 #定义类的数据成员 def __init__(self,name,age,weight):
self.name = name #定义对象的数据成员属性
self.age = age
self.__weight = weight #私有数据成员,只能通过类内的公有成员函数访问 def speak(self): #公有成员函数
print('我叫%s,我的年龄是%d,我的身高是%dcm,我的体重是%dKG.' %(self.name,self.age,Person.height,self.__weight)) people=Person('PinkFox',23,46)
people.speak() #调用公有成员函数,也称访问方法 Person.height=165 #为属于类的数据成员重新赋值
people.name='RedRabbit'
people.age=24 #访问属性并赋值
people.speak() #我叫PinkFox,我的年龄是23,我的身高是162cm,我的体重是46KG.
#我叫RedRabbit,我的年龄是24,我的身高是165cm,我的体重是46KG.
(2)python中的继承:继承的目的在于实现代码重用,即对已有的成熟的功能,子类从父类执行“拿来主义”。父类又称基类、超类,子类又称派生类。
class Students(Person):
school='霍格沃茨魔法学校' def __init__(self,name,age,weight,grad):
self.grade=grad
#调用父类的构造方法,初始化数据成员
Person.__init__(self,name,age,weight)
def speak(self):
print('我叫%s,我的年龄是%d,我的身高是%dcm,我在%s读%d年级。' %(self.name,self.age,Person.height,Students.school,self.grade)) stu=Students('PinkFox',13,36,5)
Person.height=158
stu.speak() #我叫PinkFox,我的年龄是13,我的身高是158cm,我在霍格沃茨魔法学校读5年级。
人生就是一次次幸福的相聚,夹杂着一次次伤感的别离。我们不是在最好的时光相遇,而是遇见了你才有了最好的时光。——改编自《老师,好》
链接:https://pan.baidu.com/s/10axH5mCSPjXgMamLvIT0ug
提取码:w987
ps:读书笔记不再更,其他部分lstm讲的特别好,想看的小伙伴可以自己下下来看看。
深度学习之美(张玉宏)——第四章 人生苦短我用python的更多相关文章
- TensorFlow(实战深度学习框架)----深层神经网络(第四章)
深层神经网络可以解决部分浅层神经网络解决不了的问题. 神经网络的优化目标-----损失函数 深度学习:一类通过多层非线性变化对高复杂性数据建模算法的合集.(两个重要的特性:多层和非线性) 线性模型的最 ...
- AI - 深度学习之美十四章-概念摘要(8~14)
原文链接:https://yq.aliyun.com/topic/111 本文是对原文内容中部分概念的摘取记录,可能有轻微改动,但不影响原文表达. 08 - BP算法双向传,链式求导最缠绵 反向传播( ...
- AI - 深度学习之美十四章-概念摘要(1~7)
原文链接:https://yq.aliyun.com/topic/111 本文是对原文内容中部分概念的摘取记录,可能有轻微改动,但不影响原文表达. 01 - 一入侯门"深"似海,深 ...
- 《Android深度探索HAL与驱动开发》第四章阅读心得
Android源代码包含了很多内容,可以实现拍照.计算机.日历.相册.拨号器等功能.配置Android源代码下载环境需要如下几步: (1)创建一个用于存放下载脚本文件的目录: (2)下载repo脚 ...
- 统计学习导论:基于R应用——第四章习题
第四章习题,部分题目未给出答案 1. 这个题比较简单,有高中生推导水平的应该不难. 2~3证明题,略 4. (a) 这个问题问我略困惑,答案怎么直接写出来了,难道不是10%么 (b) 这个答案是(0. ...
- 我的学习之路_第三十四章_jsp
jsp 在只有servlet时,输出页面内容比较麻烦(成本高,java代码中输出HTML标签),所以需要一种技术,主要是HTML页面的代码(HTML,css,js),可以嵌入java代码,来实现动态页 ...
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)
##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...
- github上热门深度学习项目
github上热门深度学习项目 项目名 Stars 描述 TensorFlow 29622 使用数据流图进行可扩展机器学习的计算. Caffe 11799 Caffe:深度学习的快速开放框架. [Ne ...
随机推荐
- jquery 未来元素事件示例 on() delegate() live()
jquery 1.7版后建议使用on() $(document).on("click","#green",function(){$(this).after('& ...
- Kendo UI使用教程:Bower Packages
[Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...
- 设计模式Design Pattern(4) -- 访问者模式
什么是访问者模式? 一个对象有稳定的数据结构,却为不同的访问者提供不同的数据操作,对象提供接收访问者的方法,从而保证数据结构的稳定性和操作的多样性.也可以理解为,封装对象的操作方法,达到不改变对象数据 ...
- vue 搜索关键词 变颜色
<a class="text"> <span>{{item.name.slice(0,item.name.toLowerCase().indexOf(inp ...
- canal 环境搭建 kafka Zookeeper安装(二)
第一步 创建Zookeeper 下载完成后 修改 Zookeeper中的 zoo.cfg 修改 dataDir .dataLogDir 集群模式 server.1=ServerIP:2888:3888 ...
- 6402. 【NOIP2019模拟11.01】Cover(启发式合并)
题目描述 Description 小 A 现在想用
- windows如何禁用惹人烦的开机启动广告
本地组策略编辑器 建立新的路径规则 重启电脑 本地组策略编辑器 你现在还在为那些烦人的互联网开机广告而发愁嘛,比如一下几种广告:这样的 还是这样的: 又或者是这样的: 修改了dns也并没有什么卵用,所 ...
- mobx使用
1.mobx状态管理 安装:creact-react-app mobx action.store.reducer. action是一个函数,事件调用actions直接修改state,Actions是唯 ...
- bing 精美壁纸获取方式
右键检查 打开就行了
- 微信长按识别二维码,在 vue 项目中的实现
微信长按识别二维码是 QQ 浏览器的内置功能,该功能的基础一定要使用 img 标签引入图片,其他方式的二维码无法识别. 在 vue 中使用 QrcodeVue 插件 demo1 在 template ...