资讯专栏INFORMATION COLUMN

looking at python

Channe / 1252人阅读

摘要:代码易于阅读,并且,易于维护这一条是看来的,这可能只是一种感觉问题。因此的垃圾回收机制由一个引用计数器和一个循环垃圾收集器组成。类的继承支持多重继承父类的构造函数必须在子类中亲自调用

Python 初探 Python是。。?

python是一种解释型脚本语言。

python语言是一句一句执行的,可以再命令提示符中直接编写程序并随时获得结果

python支持面向对象

我已经会c了,除此之外我还会java了,为嘛我还要学习python?

python语言结构和语法十分简单,十分容易学习。(这两天基本就可以开始写python了,那个机器人项目就是用python写的。)

python代码易于阅读,并且,易于维护(这一条是看来的,这可能只是一种感觉问题。也可能是因为,python代码的层次性非常弱,代码结构非常简单,再加上很容易阅读,因此容易维护)

标准库十分广泛。(那个机器人项目=。=居然只提供了python和c++库)

可移植性好。

可扩展性好。这一条也是看来的。python可以添加低层次的模块到python解释器,这些模块使得程序员可以添加或者定制自己的工具。(别的语言也可以啊)

python的语法鉴赏 变量

对变量的第一次赋值就是声明和定义。

num = 1;
nums = 1, 2, 3;
array = "a", "b", "sa", 3;
num = array[1];    // num = "b"
num = array[3];    // num = 3

通过上面的例子可以看出来,变量的类型在运行时是可以发生改变的。
另外,python中没有字符类型。事实上也不需要有。

列表

这相当于数组的概念,但是python的列表中允许出现不同类型的元素。
例如:

list1 = ["a", "b", "c", 123 ]

python列表的索引从0开始,并且可以一次访问其中的多个元素。
例如:

sublist = list[0:4]
sublist = list[0:]

上述语句访问的是0, 1, 2, 3四个元素。

还可以直接删除列表中的一个元素:

del list[2];

对列表的操作还有:

list.append(o) # 列表尾追加元素o
list.count(o)  # 列表的元素个数
list.extend(o) # 将新列表的值全部追加到原列表中
list.index(o)  # 返回列表中第一次出现这个值得位置
list.insert(index, o) # 插入o到位置index
list.pop(o=list[-1])  # 移除列表的一个元素,并返回该元素的值
list.remove(o) # 移除列表中第一个这样的值
list.reverse() # 将列表中的值倒置
list.sort([compFunc]) # 链表排序,compFunc用于指定比较函数,可选

python中还有元组(不允许修改的列表)、字典等数据结构。。不码这儿了,语法什么的大差不离

python面向对象编程

与其他众多支持面向对象编程的编程语言一样,python使用class关键字来定义一个类。

创建类:
class Foo:

    id = 1
    
    def __init__(self, name):
        self.name = name
        id = id + 1
        
    def displayself(self):
        print self.name, Foo.id
        

python中self是指向这个对象自己的引用。他必须作为每个方法的第一个参数。
每个类的属性分为两部分,一部分是在所有方法声明之前声明的变量,他们作为所有对象共享的一个静态变量,所有对象都持有相同的这个属性,并且都可以改变他的值。在方法中声明的属性是这个类的私有属性,每个对象拥有不同的私有属性。

创建对象的实例
foo1 = Foo("foo1")
foo2 = Foo("foo2")
访问属性
foo1.displayself()
foo2.displayself()
python内置类属性

__dict__: 一个字典,由类的属性数据构成
__doc__: 类的文档字符串,是类的第一个逻辑行的由三个引号括起来的字符串
__name__: 类名
__module__: 类定义所在的模块
__bases__: 类的所有父类构成元素(包含了一个由所有父类组成的元组)

python的对象销毁机制

python拥有和java类似的垃圾回收机制。
python使用引用计数器来最总内存总的对象。
当对象的引用计数变为0的时候,对象占用的内存将被回收。但是回收发生在内存将要被写满的时候。

同事python还有一个循环引用垃圾收集器,即两个对象分别持有对方的引用,但是没有别的变量指向他们,因此他们也应该被垃圾回收所以,他们也应该被垃圾回收。因此python的垃圾回收机制由一个引用计数器和一个循环垃圾收集器组成。

python的对象中包含了内置的析构函数__del__,当对象的引用计数变为0时,析构函数将被执行。

类的继承

python支持多重继承:

class Foo (Parent1, Parent2, Parent3...):

父类的构造函数必须在子类中亲自调用:

class Foo(Foo2):
    def __init__(self):
        super().__init__(self);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37641.html

相关文章

  • 【译】python 静态方法和类方法的区别

    摘要:尽管和非常相似,但在用法上依然有一些明显的区别。所以,从静态方法的使用中可以看出,我们不会访问到本身它基本上只是一个函数,在语法上就像一个方法一样,但是没有访问对象和它的内部字段和其他方法,相反会访问,会访问。 python staticmethod and classmethod Though classmethod and staticmethod are quite simil...

    Crazy_Coder 评论0 收藏0
  • Python-logging

    Next When to use logging The logging functions are named after the level or severity of the events they are used to track. The standard levels and their applicability are described below (in increasin...

    U2FsdGVkX1x 评论0 收藏0
  • Pythonic “Data Science” Specialization

    摘要:温习统计学的知识为更深层次的学习做准备在的演讲中说就是我们理解但不知道另外的是如何的我在台下想对于那可以理解的我好像都只懂了参考标准高效的流程课程用的是我不想再学一门类似的语言了我会找出相对应的和的来源流程什么是干净的一个变 Why The Data Science Specialization 温习统计学的知识, 为更深层次的学习做准备 Andrew Ng 在 2015 GTC ...

    jasperyang 评论0 收藏0
  • Python 邂逅 POV-Ray

    摘要:本文介绍了使用为编写代码生成器的基本思路。所实现的代码生成器重视的建模功能,而忽视其光线追踪渲染功能。至于点的尺寸,可将其视为包围盒外接球空间的最小长度单位,并使之与包围盒外接球半径成固定比例。 showImg(https://segmentfault.com/img/bVX1x8?w=600&h=450); 引言 POV-Ray 是一种专业的三维场景描述语言,它描述的三维场景可交由 ...

    summerpxy 评论0 收藏0
  • [翻译]一个简单实用的Python Tkinter教程

    摘要:输入框和标签都带了一个神秘的参数。我们可以在之前调用的时候做这些事,但上面这样做也是个不错的选择第二行告诉让我们的输入框获取到焦点。 原文http://www.tkdocs.com/tutorial/firstexample.html 第一个实用的简易案例 A First (Real) ExampleWith that out of the way, lets try a slight...

    Noodles 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<