真的是很话唠的在下了。
昨天没有很完整的学习,就没有发布笔记了。
昨天主要是匆匆忙忙的回家了,买了好吃的法棍回家,好吃的法棍简直是战斗力的最佳保证!
而后和家里人聊聊天,其实平时对着电脑多了,对着电脑聊天老是不如面对面来的有感受。
PS:可是仍是很讨厌接到工做上的彻底没逻辑的电话的。
2018的最后两天。
我很想念小胡哥哥,大概这个地方他都看不到的吧,毕竟学术上咱们俩的交叉是极少的。
但愿2019年会变成更好的本身,也能拥有更多掌握本身生活的能力。python
简单打点鸡血吧!
大学时候很喜欢的一段话。
每个优秀的人,都有一段沉默的时光。那一段时光,是付出了不少努力,忍受孤独和寂寞,不抱怨,不诉苦,往后提及时,连本身都能被感动的日子。编程
不一样于高数里的偏函数。
这个属于Python的functools
里提供的一个颇有用的功能。
主要用于,设定函数的默认值,但并不改变原有的函数。
好比对int()
函数设定额外的参数base=8
改成八进制来进行整数转化。windows
#正常状况下 int('12345',base = 8) #或者咱们考虑本身定义个函数int2 def int2(x,base=8): return int(x,base)
而functools.partial
就不须要本身另外定义函数。app
import functools int2 = functools.partial(int,base=2)
此时int2()
就是建立出来的一个全新的函数。函数
简单总结functools.partial的做用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
然鹅这个偏函数,还能够在另外加入参数。工具
当函数的参数个数太多,须要简化时,使用functools.partial能够建立一个新的函数,这个新函数能够固定住原函数的部分参数,从而在调用时更简单。
在使用中应该要多考虑下使用场景,又是反复使用偏函数可能会产生反效果(我的感受,还须要实践测试)。学习
模块要尽量的不和内置函数产生冲突。
为了避免和别人的模块冲突,因此有了包。包名不冲突,那全部的模块就不会冲突了。
每个包目录下面都会有一个__init__.py
的文件,这个文件是必须存在的,不然,Python就把这个目录当成普通目录,而不是一个包。
由于有了包,有了模块,因此能够产生多级的文件树。测试
sys
模块下有一个argv
参数,用list存储命令行的全部参数。
因此argv
一定有至少一个参数,就是文件名。spa
if __name__=='__main__': test()
当命令行运行hello
模块文件时候,Python解释器把特殊变量__name__
置为__main__
,而若是在其余地方导入该hello
模块时候,if
判断将失效。命令行
好比当进入交互模式时候,导入hello
模块,不会直接执行test()
函数,须要调用。
在Python里,咱们经过_
前缀来实现私有变量。
分为正常的朋友、特殊的朋友、和暗搓搓的朋友。
正常的朋友就是正常能够直接引用的。
特殊的朋友,好比__xx__
这个样子的,虽然能够被直接引用,可是有特殊用途。好比能够暴露我身份的__author__
就是特殊变量啦。
而后_xx
这个样子的朋友,就是暗搓搓的朋友们啦,非公开的,不该该直接被引用。
def _private_1(name): return 'Hello, %s' % name def _private_2(name): return 'Hi, %s' % name def greeting(name): if len(name) > 3: return _private_1(name) else: return _private_2(name)
在模块内公开greeting()
函数,可是内部逻辑用私有函数隐藏,这样调用的时候就不考虑内部逻辑。
很是有用的代码封装和抽象的方法
外部须要引用的函数才定义为public,不须要引用的所有定义成private
在Python中,安装第三方模块,是经过包管理工具pip完成的。
然鹅这一步,在Mac或者Linux下是不须要安装pip的。(悲伤的windows鹅,幸亏安装Python的时候妥妥安装了
第三方库通常都有官方注册
用Anaconda,一个基于Python的数据处理和科学计算平台,已经内置不少有用的第三方库。
Anaconda会把系统Path中的python指向本身自带的Python,而且,Anaconda安装的第三方模块会安装在Anaconda本身的路径下,不影响系统已安装的Python目录。
能够尝试直接import numpy
等已安装的第三方模块
添加本身的搜索目录,有俩办法
sys.path
,添加要搜索的目录import sys sys.path.append('/user/gaga/my_py_scriptss')
-设置环境变量PYTHONPATH
,不影响Python自身的搜索路径。
emmm,真是个使人悲伤的标题。
Object Oriented Programming--->因此OOP才是一种程序设计思想吗?....只是思想....
OOP把对象做为程序的基本单元,一个对象包含了数据和操做数据的函数。
忽然以为OOP是一个很浪漫的思想。(题外话)
面向对象的设计思想是抽象出Class,根据Class建立Instance。
面向对象的抽象程度又比函数要高,由于一个Class既包含数据,又包含操做数据的方法。
类的定义是使用class
关键字。
-----困了的分界线,明日继续分解下一回合...(好像明日2019年??? 今晚小酌一杯再来继续!