python 对比学习
python和java面向对象的不同
1.属性和方法
java中类的属性(static)除外,对象全部独立拥有;
而python中类的属性,其实例对象一个字段都没有.底层是这么搞的: 对象object获取属性时,如果自己没有并不报错,而是去类中找,找不到才报错.
方法和java一样,普通的方法是对象的,要申明为类的静态方法必须使用@classmethod来表示是类的静态变量
2.构造方法:
java可以有多个,更加参数的多少决定
而python没有方法重载,故没有多个构造方法
一。小知识点:
1.python没有contains,使用find返回查到的元素的位置(只查一个符合的)
2.python的数组和集合添加元素不是add,使用append(快速构建list可是使用range(10) = [0,1,2,3,4,5,6,7,8,9])
3.python的set添加元素add,删除元素remove(和java一样)
4.fn(*x) x表示一个tuple; 而 fn(**x) x表示一个字典,而且对该字典you要求,key必须为str,同时fn(**x)还有个特殊写法,直接给x=xxx,y=xxx,简直太牛逼了。
5.高阶函数一般用这种log('info'),包含了一个参数的装饰器。 首先不带参数的装饰器(2阶即可):
第一阶:修饰的形参函数, 第二阶:函数的参数
def log1(fn): #fn:装饰的函数
def wapper(*args,**kw): #fn的参数
print 'log1日志:'
return fn(*args, **kw)
return wapper
@log1
def mytest(**kw):
sys.stdout.write('mytest函数执行,参数为:')
for x,y in kw.items():
sys.stdout.write(str(x) + ':' + str(y) + ', ')
但是如果包含了参数的,则需要三阶。 第一阶:装饰器所带参数作为形参,第二阶:修饰的形参函数, 第三阶:函数的参数
def log(txt):#一阶txt是自己的参数
def wapper(fn): #二阶这里拿到装饰函数的形参fn
def wapper2(*args,**kw): #三阶拿到装饰函数的参数
sys.stdout.write(txt+'级别日志:')
return fn(*args, **kw)
return wapper2
return wapper
@log('info')
def test(**kw):
sys.stdout.write('test函数执行,参数为:')
for x,y in kw.items():
sys.stdout.write(str(x) + ':' + str(y) + ', ')
test(x=1,y=2)
6.django总update和insert都可以通过save方法实现,到底是insert还是update,默认通过主键是否有值来判断。 如果我们确认只需要insert,则使用 对象.save(force_insert=true,using='哪个数据库');
如果我们确认只需要update,则使用 对象.save(force_update=True,update_fields=['aaa','bbb'])
python 对比学习的更多相关文章
- lua、python对比学习
一.基本数据类型: lua: nil(空).boolean(false和nil为假).number(数值).string(字符串).table(表).function(方法).thread (线程) ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- python爬虫学习(1) —— 从urllib说起
0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- 利用python深度学习算法来绘图
可以画画啊!可以画画啊!可以画画啊! 对,有趣的事情需要讲三遍. 事情是这样的,通过python的深度学习算法包去训练计算机模仿世界名画的风格,然后应用到另一幅画中,不多说直接上图! 这个是世界名画& ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
- Python Tkinter 学习成果:点歌软件music
笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...
- 对比java和python对比
对比java和python 对比java和python 2011年04月18日 1.难易度而言.python远远简单于java. 2.开发速度.Python远优于java 3.运行速度.java远优于 ...
- 参考分享《Python深度学习》高清中文版pdf+高清英文版pdf+源代码
学习深度学习时,我想<Python深度学习>应该是大多数机器学习爱好者必读的书.书最大的优点是框架性,能提供一个"整体视角",在脑中建立一个完整的地图,知道哪些常用哪些 ...
随机推荐
- python的内存管理机制(zz)
本文转载自:http://www.cnblogs.com/CBDoctor/p/3781078.html 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计 ...
- (转载)grep的使用
R的意思是递归的对目录下的所有文件(包括子目录)进行 grep. 比如 grep -R main src就会搜索src目录下所有文件中是否包含 main 这个字符串. 因此grep -R " ...
- 使用Nginx+uWSGI部署Django项目
1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi l ...
- sqlldr Field in data file exceeds maximum length "
使用sqlldr导数时出现如下错误: " Record 1: Rejected - Error on table PC_PLANNAME, column PLANNAME.Field in ...
- Xamarin XAML语言教程ContentView视图作为自定义视图的父类
Xamarin XAML语言教程ContentView视图作为自定义视图的父类 自定义视图的父类:ContentView视图可以作为自定义视图的父类. [示例14-2]以下将自定义一个颜色视图.具体的 ...
- [CTSC2017]最长上升自序列(伪题解)(Dilworth's theorem+网络流)
部分分做法很多,但每想出来一个也就多5-10分.正解还不会,下面是各种部分分做法: Subtask 1:k=1 LCS长度最长为1,也就是说不存在j>i和a[j]>a[i]同时成立.显然就 ...
- [BZOJ 4057] Kingdoms
Link: BZOJ 4057 传送门 Solution: 一道比较基础的状压DP 看到$n<=20$,状态转移与顺序相关,就可以开心地状压了 1表示破产,0表示未破产,不断扩展破产的集合即可 ...
- go时间转化
将string转化为time.Time layout := "2006-01-02 15:04:05" str := "2017-11-24 15:10:22" ...
- Matlab图形中输入希腊字母
xlabel('\beta'); ylabel('\delta'); 希腊字母等特殊字符用 \加拼音 如: α \alpha β \beta γ \gamma θ \theta Θ \Theta Г ...
- getopt使用
参考: http://www.gnu.org/software/libc/manual/html_node/Example-of-Getopt.html http://en.wikipedia.org ...