python 为什么动态语言_Python动态语言

python

说Python是动态语言,是由于Python可以在代码运行中可以做更改,但是像C、Java之类的需要编译的语言,由于做过编译就不可以做修改了,所以是静态语言。但是像Python、PHP、Ruby之类的动态语言执行效率会不如静态语言快,毕竟中间有一层解释器。

示例代码如下:

#coding=utf-8

import types

class Person(object):

num = 100

pass

p1 = Person()

# 给对象传递属性

p1.name = 'xiaohua'

print(p1.name)

# 给类传递属性

Person.pname = 'human'

print(Person.pname)

print(p1.pname)

print('----------------------------')

def test1(self):

print('--------------self-test1')

def test2(cls):

print('--------------cls-test2')

print(cls.num)

@staticmethod

def test3():

print('--------------test3')

# 添加实例方法

p1.test1 = types.MethodType(test1,p1,Person)

# 添加类方法

Person.test2 = types.MethodType(test2,Person,type)

# 添加静态方法,这里不能使用types来创建,不然会报一个:没有参数却多传了一个参数的错误

Person.test3 = test3

p1.test1()

p1.test2()

p1.test3()

#del p1.test1

delattr(p1,test1)

p1.test1()

slots

由于python是个动态语言,有时候人们不想让运行的代码做修改,__slots__就是起到了这个作用。

177c250c7919

但是由于__solts__是个私有属性,所以如果一个子类集成了这个父类,子类是可以随意增加属性的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值