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深度学习>应该是大多数机器学习爱好者必读的书.书最大的优点是框架性,能提供一个"整体视角",在脑中建立一个完整的地图,知道哪些常用哪些 ...
随机推荐
- 精确解释Unicode
来自:http://blog.csdn.net/gqqnb/article/details/6266542 ---------------------------------------------- ...
- Appium+python自动化27-android特有的wait_activity【转载】
本篇转自博客:上海-悠悠 前言在启动app的时候,如果直接做下一步点击操作,经常会报错,于是我们会在启动完成的时候加sleep.那么问题来了,这个sleep时间到底设置多少合适呢?设置长了,就浪费时间 ...
- Python 进阶 之 协程
协程的概念级描述(与线程对比):转自知乎 链接 线程有两个必须要处理的问题:一是碰着阻塞式I\O会导致整个进程被挂起: 二是由于缺乏时钟阻塞,进程需要自己拥有调度线程的能力. 如果一种实现使得每个线程 ...
- 【转】C#获取当前程序运行路径的方法集合
//获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (. ...
- magento 调整产品详细页自定义选项或配置项的位置
默认位置如下图,感觉不美观 调整后,如下图 打开后台产品页,找到Design下的Display product options in属性,可以看到两个选项:Product Info Column和Bl ...
- [c] 段错误(core dump): 一个格式化输出引起的问题
#include <stdio.h> int len = sizeof(int); printf("%s\n",len); /* 编译的时候是没问题的,运行的时候就报错 ...
- asp.net中利用JSON进行增删改查中运用到的方法
//asp.net中 利用JSON进行操作, //增加: //当点击“增加链接的时候”,弹出增加信息窗口,然后,在窗体中输入完整信息,点击提交按钮. //这里我们需要考虑这些:我会进行异步提交,使用j ...
- [CF911B]Two Cakes
题目大意: 有两种蛋糕,分别被切成了a块和b块,要把这些蛋糕分到n个盘子里. 要求每个盘子里只能有一种蛋糕,每一种蛋糕都被分.问最优情况下,盘子里至少能放几个蛋糕. 思路: 二分答案. 由于每个蛋糕都 ...
- 十. 图形界面(GUI)设计8.选择框和单选按钮
选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...
- GAILS里面的SAVE方法
用途 保存一个domain类的实例到数据库,需要的话会级联保存所有的子实例. 举例 def b = new Book(title:"The Shining") b.save() 描 ...