Python与java语言的一些区别
本博客部分内容是摘自其他博客的内容,具体链接我也忘记,忘多包涵
1、
数
python
只有
4
种类型的数:整数,长整数,浮点数和
java
中没有的复数;
java
则有
char
,
short,byte
,
int
,
long
,
float,double
类型
;
2
、字符串
python
没有表示单个字符的
char
类型,可以用单引号,双引号来表示一个常量字符串,也可以用三引号
('''
或者
“”“)
来表示一个多行的字符串;
java
用
char
来表示单个字符,用
String
类表示一个字符串,常量字符串由双引号表示;
当一个字符串在一行表示不下,
python
中在行尾加一个反斜杠
(\)
,表示字符串在下一行继续;
java
用加号
(+)
连接;
python
中还有可以在字符串前加前缀
r
或
R
:表示自然字符串,即不对字符串做转移处理
(
比
java
方便
)
;还可以加前缀
u
或
U
:表示
unicode
字符串;
python
字符串实际上是有序的字符集合,支持索引,分片操作,类似于
List
操作等。
3
、缩进
python
用缩进来识别语句间的逻辑层次;
java
主要用花括号和分号来识别,不强制缩进;
4
、
操作符
python
用
**
:表示幂符号,如
x**y
表示
x
的
y
次方;
//
:表示整除,即商的整数部分;
~
:按位翻转,
~x
就是
-(x+1)
以上这些都是
java
中没有的
,
但是
python
没有自增
,
自减运算符,并且
python
用
and
,
or
,
not
表示逻辑与,或,非。
5
、
if
语句
python
的
if
语言的条件表达式可以不接括号,和
java
不同的是,
else if
在
python
中写作
elif
,并且在
if
,
elif
,
else
语句后面需要加冒号;
python
中没有
switch
语句,需要用
if
来代替;
6
、
while
语句
python
的
while
语句和
java
的最大不同是,
while
语句可以接
else
,
else
语句块在循环条件不满足时执行。
(
这个是不是有点多余呀,循环条件不满足,程序不也是执行
while
块后面的语句嘛!
)
While True
:
if
条件语句:
break
7
、
for
语句
python
的
for
语句与
java
,
c,c++,c#
中传统的
for
语句都不一样,它用
in
把表示变量的范围,类似
java
中的
foreach
;和
while
一样,也可以接
else
块;
for
和
while
中,如果被
break
中断,将不执行
else
语句块;循环中还支持
if not in
之类的
8
、
函数
函数只需要
def
函数名字(参数列表):
返回数据支持多个数据,也就是元组(参数
1
,参数
2
,参数
3
,参数
4
),也可以不返回数据默认返回
non
9
、注释
python
中以
'#'
开始的行为注释(貌似很多脚本语言都喜欢用
#
做注释,还有
””
“””
三个双引号是多行的注释);
java
中主要是
"//"
和
" /* .... */ "
;
注意
python
的注释还很版本有关系,自己尝试的时候需要注意
10
、类的定义
构造函数是def __init__(self,
参数):
所有类的函数都需要在函数参数列表中加一个self
,类似于java
语言的this
11
、类私有方法
如果一个
Python
函数,类方法,或属性的名字以两个下划线开始
(
但不是结束
)
,它是私有的;其它所有的都是公有的。
Python
没有类方法保护
的概念
(
只能用于它们自已的类和子类中
)
。类方法或者是私有
(
只能在它们自已的类中使用
)
或者是公有
(
任何地方都可使用
)
12
、无处不在的异常处理
Python
使用
try...except
来处理异常,使用
raise
来引发异常。
Java
和
C++
使用
try...catch
来处理异常,使用
throw
来引发异常
13
、垃圾回收机制
如果说创建一个新的实例是容易的,那么销毁它们甚至更容易。通常,不需要明确地释放实例,因为当指派给它们的变量超出作用域时,它们会被自动地释放。内存泄漏在 Python
中很少见。
判断一个对象是否销毁:sys.getrefcount(obj)
Some common situations that may prevent the reference count
of an object from going to zero include: circular references between objects
(e.g., a doubly-linked list or a tree data structure with parent and child
pointers); a reference to the object on the stack frame of a function that
caught an exception (the traceback stored in sys.exc_traceback keeps the stack
frame alive); or a reference to the object on the stack frame that raised an
unhandled exception in interactive mode (the traceback stored in
sys.last_traceback keeps the stack frame alive).
14、常见的语法操作
1
、常用的语法是:类的构造、需要特别熟练
python
中三个内置对象,分别是
list
()、
dict()
、
tuple
这三个在开发中经常需要用到,具体的用法在这里就不阐明了,下面是一本比较好入门的书籍:
http://www.woodpecker.org.cn/diveintopython
《
dive into
python
》
2
、时间类的操作分别为
datetime.datetime,time
这两个对于时间的操作
3
、模块的导入
: f
rom module import
的基本语法:
from UserDict import
UserDict
它与你所熟知的 import module
语法很相似,但是有一个重要的区别:UserDict
被直接导入到局部名字空间去了,所以它可以直接使用,而不需要加上模块名的限定。你可以导入独立的项或使用 from module
import *
来导入所有东西。
什么时候你应该使用 from module
import
?
-
如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module
import
。
-
如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module
import
。
-
如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module
来避免名字冲突。
15、开发中注意的地方
-
字符串的连接问题,
python
在连接字符串是用
+
,注意类型必须是一致的即字符串不能和数字连接否则就报错,所有的类型必须转换为字符串使用
str
()
如果字符串转换对应的类型就用类型强制转换,如:
float
()
-
内置函数:
__cmp__
: ==
__len__
:len
()
__delitem__
:del
instance[key]
-
在
Java
中,通过使用
str1 == str2
可以确定两个字符串变量是否指向同一块物理内存位置。这叫做对象同一性
,在
Python
中写为
str1 is str2
。在
Java
中要比较两个字符串值,你要使用
str1.equals(str2)
;在
Python
中,你要使用
str1 == str2
-
数据属性和类属性
class FileInfo(dict):
继承
Python
支持数据属性
(
在
Java
和
Powerbuilder
中叫做
“
实例变量
”
,在
C++
中叫
“
数据成员
”)
,它是由某个特定的类实例所拥有的数据。在本例中,每个
UserDict
实例将拥有一个
data
数据属性。要从类外的代码引用这个属性,需要用实例的名字限定它,
instance
.data
,限定的方法与你用模块的名字来限定函数一样。要在类的内部引用一个数据属性,我们使用
self
作为限定符。习惯上,所有的数据属性都在
__init__
方法中初始化为有意义的值。然而,这并不是必须的,因为数据属性,像局部变量一样,当你首次赋给它值的时候
突然产生
类属性既可以通过直接对类的引用,也可以通过对类的任意实例的引用来使用,
在
Java
中,静态变量
(
在
Python
中叫类属性
)
和实例变量
(
在
Python
中叫数据属性
)
两者都是紧跟在类定义之后定义的
(
一个有
static
关键字,一个没有
)
。在
Python
中,只有类属性可以定义在这里,数据属性定义在
__init__
方法中
在
Python
中没有常量。
-
基于
dictionary
的字符串格式化介绍
- params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
"%(pwd)s" % params
'secret'
分享到:
相关推荐
这篇文档将深入探讨"python 学习资料大全"中包含的四个关键资源,它们可以帮助你全面掌握Python编程技能。 1. **CherryPyEssentials-RapidPythonWebApplicationDevelopment.rar** 这个文件涉及到的是使用CherryPy...
《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地...
本书是《Python学习手册》的第五版,由Mark Lutz编写,是学习Python编程语言的经典教程。该书深入浅出地介绍了Python的各个方面,适合初学者和有经验的程序员阅读。书中探讨了Python语言的多种用途,包括但不限于...
这份"Python学习笔记"涵盖了从环境搭建到基础语法,再到数据类型和控制结构等关键知识点,旨在为初学者提供全面的学习指导。 首先,1.1章节介绍了Python的基础,包括Python的起源和历史。Python是由Guido van ...
【标题】"PYTHON学习资料包.zip"所包含的是一个综合性的Python学习资源集合,适合不同层次的学习者。从初学者到有一定基础的开发者,都可以在这个资料包中找到适合自己的学习材料。 【描述】"python学习资料包合集...
( Python学习手册(第3版).pdf( Python学习手册(第3版).pdf( Python学习手册(第3版).pdf( Python学习手册(第3版).pdf( Python学习手册(第3版).pdf( Python学习手册(第3版).pdf( Python学习手册(第3版).pdf( Python...
### 最新Python学习手册中文附录知识点解析 #### 标题与描述理解 - **标题**:“最新Python学习手册中文附录”明确指出这是一份关于Python编程语言的学习资料,并且是针对中文读者群体。 - **描述**:与标题相同,...
这份"python学习资源合集"包含了五本极具价值的Python学习书籍,旨在帮助初学者快速掌握这门语言并逐步进阶。 首先,《21天学通PYTHON》这本书提供了紧凑的学习计划,适合时间有限但希望快速入门的人。书中的内容...
如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python...
如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python...
Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面exe,演示生成的小程序 Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面exe,演示生成的小程序 Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面exe...
, 《Python学习手册:第4版》每一章都包含关于Python语言的关键内容的独立的一课,并且包含了一个独特的“练习题”部分,其中带有实际的练习和测试,以便你可以练习新的技能并随着学习而测试自己的理解。你会发现...
【Python学习资料电子书合集5-2】是针对Python编程语言的一份全面学习资源,包含多本高质量的电子书籍,旨在帮助学习者深入理解和掌握Python的各项技能。这个合集特别适合正在学习Python或者希望提升Python技能的...
"Python学习手册(第3版)-带目录完整版+Python学习手册(第4版)-带目录完整版"是两本非常有价值的资源,旨在帮助读者深入理解和掌握Python编程。 Python学习手册的第三版和第四版,都是全面且深入的学习指南。它们...
《Python学习手册 第四版 源码》是Python编程初学者和进阶者的一份宝贵资源,包含了大量的示例代码和练习,旨在帮助读者深入理解Python语言的各个方面。这份源码涵盖了Python语言的基础语法、高级特性、面向对象编程...
Python学习手册:第4 版 将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成。 《Python学习手册:第4版》每...
如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python...
这是完整版 高清 扫描 贝叶斯思维:统计建模的PYTHON学习法.pdf