zoukankan      html  css  js  c++  java
  • Python:总结

    Python的内容包括:数据类型、语法、函数、高阶函数、模块、面向对象。并比较与Java的异同,学习一门新语言,找一个熟悉的语言来类比,可以更好的上手。

     数据类型

    Python中一切皆对象,这点其实和Java还是有些不同。Java将数据分为基本数据类型和引用数据类型。Python中有不变的数据类型,和Java中基本数据类型类似,主要包括 整数 浮点数 字符串 布尔值 空值。其他的数据类型和Java中的引用数据类型类似,包括 列表、元祖、字典、set。

    变量与内存结构 

    Python变量本身类型不固定,在给变量赋值的时候时候就相当于给变量初始化。而在Java中变量前面加上数据类型就相当于给变量初始化了。Python中当给变量赋值时,系统会为这个值分配内存空间,然后让变量指向这个值。当改变变量值时,系统会为了这个新值分配另一个内存空间,然后还是让变量指向这个新的值。变量通过地址值指向内存空间中的值,内存空间中的值是不变,变化的只是变量向内存空间的指向。可以通过id()函数查看变量内存地址。https://blog.csdn.net/WSBruce/article/details/79234389

    函数 

    Python中每一句都不用加分号,通过缩进来表示函数体。Python的判断和循环逻辑和Java中是一致的。Python中函数中还能再定义一个函数,函数也是对象,可以将函数作为参数传递或者作为值返回。

    模块 

    Python中一个py文件就是一个模块,包名就是指命名空间。每个包下有一个__init__文件。不同的模块直接可以相互引入和调用。

    面向对象 

    Python中也是用关键字class定义类,创建新对象时只需类名加小括号。

    Java中创建类时有时需要创建有参构造函数和无参构造函数,Python中 __init__(self, param01, param02) 方法可以类比为Java中有参构造函数。

    Java中通过private和public来表示属性的私有和公有,Python中如果下划线开头的变量指私有属性,其他表示公有属性。

    Python中创建了一个class实例之后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。如果想要限制实例的属性,在定义class的时候,定义个特殊的变量 __slots__ 用来限制该class实例能添加的属性,例如 __slots__ = ('name', 'age') 这样就可以限制给实例绑定新的属性。

    Java中对于私有变量的操作需要通过写get/set方法。Python中也是类似的做法,不过Python中可以通过@property和@param.setter这个两个装饰器将普通方法变成属性调用,用起来和get/set一样。

    Python中可以有多重继承,这种设计通常称之为 MixIn 。Java中不支持多继承,但是可以实现接口。

  • 相关阅读:
    c#判断输入的是不是数字
    params 关键字载入空值的陷阱
    拆箱陷阱
    接口的概念和声明
    数据库
    ios 纵向的UISlider
    微信小程序学习网站
    Spark RDD(2)
    SparkSql
    廖雪峰老师学习网站
  • 原文地址:https://www.cnblogs.com/colin220/p/10694727.html
Copyright © 2011-2022 走看看