`
he_wen
  • 浏览: 239325 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Python学习

阅读更多

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'

 

0
1
分享到:
评论

相关推荐

    python 学习资料大全,打包下载

    这篇文档将深入探讨"python 学习资料大全"中包含的四个关键资源,它们可以帮助你全面掌握Python编程技能。 1. **CherryPyEssentials-RapidPythonWebApplicationDevelopment.rar** 这个文件涉及到的是使用CherryPy...

    Python学习手册(第3版)中文版

    《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地...

    Python学习手册(第五版,原版/英文版)Leaning Python

    本书是《Python学习手册》的第五版,由Mark Lutz编写,是学习Python编程语言的经典教程。该书深入浅出地介绍了Python的各个方面,适合初学者和有经验的程序员阅读。书中探讨了Python语言的多种用途,包括但不限于...

    Python学习笔记(干货) 中文PDF完整版.pdf

    这份"Python学习笔记"涵盖了从环境搭建到基础语法,再到数据类型和控制结构等关键知识点,旨在为初学者提供全面的学习指导。 首先,1.1章节介绍了Python的基础,包括Python的起源和历史。Python是由Guido van ...

    PYTHON学习资料包.zip

    【标题】"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学习手册(第3版).pdf( Python...

    最新python学习手册中文附录

    ### 最新Python学习手册中文附录知识点解析 #### 标题与描述理解 - **标题**:“最新Python学习手册中文附录”明确指出这是一份关于Python编程语言的学习资料,并且是针对中文读者群体。 - **描述**:与标题相同,...

    python学习资源合集

    这份"python学习资源合集"包含了五本极具价值的Python学习书籍,旨在帮助初学者快速掌握这门语言并逐步进阶。 首先,《21天学通PYTHON》这本书提供了紧凑的学习计划,适合时间有限但希望快速入门的人。书中的内容...

    Python学习手册(第4版).rar

    如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python...

    Python学习手册_第四版

    如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python...

    Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面exe,演示生成的小程序

    Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面exe,演示生成的小程序 Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面exe,演示生成的小程序 Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面exe...

    Python学习手册(第4版)

    , 《Python学习手册:第4版》每一章都包含关于Python语言的关键内容的独立的一课,并且包含了一个独特的“练习题”部分,其中带有实际的练习和测试,以便你可以练习新的技能并随着学习而测试自己的理解。你会发现...

    Python学习资料电子书合集5-2

    【Python学习资料电子书合集5-2】是针对Python编程语言的一份全面学习资源,包含多本高质量的电子书籍,旨在帮助学习者深入理解和掌握Python的各项技能。这个合集特别适合正在学习Python或者希望提升Python技能的...

    Python学习手册(第3版)-带目录完整版+Python学习手册(第4版)-带目录完整版

    "Python学习手册(第3版)-带目录完整版+Python学习手册(第4版)-带目录完整版"是两本非常有价值的资源,旨在帮助读者深入理解和掌握Python编程。 Python学习手册的第三版和第四版,都是全面且深入的学习指南。它们...

    python学习手册 第四版 源码

    《Python学习手册 第四版 源码》是Python编程初学者和进阶者的一份宝贵资源,包含了大量的示例代码和练习,旨在帮助读者深入理解Python语言的各个方面。这份源码涵盖了Python语言的基础语法、高级特性、面向对象编程...

    Python学习手册(第4版)(高清pdf扫描版)

    Python学习手册:第4 版 将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成。 《Python学习手册:第4版》每...

    Python学习手册(原书第4版)- (美)MarkLutz

    如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python...

    贝叶斯思维:统计建模的PYTHON学习法 高清 完整 扫描

    这是完整版 高清 扫描 贝叶斯思维:统计建模的PYTHON学习法.pdf

Global site tag (gtag.js) - Google Analytics