python和java什么区别?
1.他的分隔符比较特别
在python中空格和换行都有比较重要的意义
不像C/java等等语言里面,使用{}去做block的范围;
python在需要定义一个新的block的时候,有一个冒号:
python里面对齐的表示同一个block
2.它的返回值可以有若干个
3.他是解释性的语言
4.类型
动态类型,强类型?
声明和初始化在一起,不另外声明变量类型
从初始化就可以推断出类型;
5.list而不是array
几种括号有什么区别,我感觉这些用法比较随意,都有一样的效果。事实上他们是有区别的,我了解的如下:
[]
list,另外也有通过index寻址要用到中括号
{}
dictionary词典
()
tuple元组
6.类,函数,模块也是变量
当然java里面也有反射,类,函数也可以是变量;
不过python里面模块也是变量了,而且这些用法更加普遍。
7.standard library
core:
- os,sys,string,getopt,StringIO,struct,pickle
Regular expressions:
-re module;#Perl-5 style patterns and matching rules
Internet:
-socket,rfc822,httplib,htmllib,ftplib,smtplib,...
Miscellaneous:
-pdb(debugger),profile+pstats
-Tkinter(Tcl/Tk interface),audio,*dbm,...
8.packages
collectin of modules
package文件的命名比较特殊,必须前后都是两个下划线,比如__init__.py
-Numpy
-SciPy
可能包含子包subpackages
import 语法:
-from P.Q.M import foo;print foo()
-from P.Q import M:print M.foo()
-import P.Q.M;print P.Q.M.foo()
-import P.Q.M as M;print M.foo()
我喜欢第一种,第四种
有本书上说,在大型应用开发或者多人协作开发中,建议使用第三种,因为程序长了以后,会看不明白你引用了哪个,宁可多输入几个字符,况且我们可以使用代码补全让输入更加快捷。