Python知识总结2

产生随机数:

Import random

Random.random()

  

关于复制函数:

Shutil.copyfile()

Copy.copy() and copy.deepcopy()

 

1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。

2. copy.deepcopy 深拷贝 拷贝对象及其子对象

a = [1, 2, 3, 4, ['a', 'b']]  #原始对象

b = a  #赋值,传对象的引用

c = copy.copy(a)  #对象拷贝,浅拷贝

d = copy.deepcopy(a)  #对象拷贝,深拷贝

a.append(5)  #修改对象a

a[4].append('c')  #修改对象a中的['a', 'b']数组对象     

输出结果:

a =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]

b =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]

c =  [1, 2, 3, 4, ['a', 'b', 'c']]

d =  [1, 2, 3, 4, ['a', 'b']]

 

Python内存分配:

Python中所有小于256个字节的对象都使用pymalloc实现的分配器,而大的对象则使用系统的 malloc。另外Python对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。

                        

Python input and raw_input:

1.       这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

2.       raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float );同时在例子 1 知道,input() 可接受合法的 python 表达式,举例:input( 1 + 3 ) 会返回 int 型的 4 。

 

注释打印: 

打印出函数中的注释:print printMax.__doc__

 

if __name__ == '__main__':

    print 'This program is being run by itself'

else:

print 'I am being imported from another module'

 

module define:

def sayhi():

    print 'Hi, this is mymodule speaking.'

version = '0.1'

# End of mymodule.py

 

调用module:

import mymodule

mymodule.sayhi()

print 'Version', mymodule.version

 

字典定义:

ab = {       'Swaroop'   : 'swaroopch@byteofpython.info',

             'Larry'     : 'larry@wall.org',

             'Matsumoto' : 'matz@ruby-lang.org',

             'Spammer'   : 'spammer@hotmail.com'

     }

 

创建类:

class Person:

    def sayHi(self):

        print 'Hello, how are you?'

 

p = Person()

p.sayHi()

 

使用init:

class Person:

    def __init__(self, name):

        self.name = name

    def sayHi(self):

        print 'Hello, my name is', self.name

 

p = Person('Swaroop')

p.sayHi()

 

sys.argv

import sys

if sys.argv[1].startswith('--'):

option=sys.argv[1][2:]

 

列表综合:

listone = [2, 3, 4]

listtwo = [2*i for i in listone if i > 2]

print listtwo

 

继承:

class SchoolMember:

    '''Represents any school member.'''

    def __init__(self, name, age):

        self.name = name

        self.age = age

        print '(Initialized SchoolMember: %s)' % self.name

 

    def tell(self):

        '''Tell my details.'''

        print 'Name:"%s" Age:"%s"' % (self.name, self.age),

 

class Teacher(SchoolMember):

    '''Represents a teacher.'''

    def __init__(self, name, age, salary):

        SchoolMember.__init__(self, name, age)

        self.salary = salary

        print '(Initialized Teacher: %s)' % self.name

 

    def tell(self):

        SchoolMember.tell(self)

        print 'Salary: "%d"' % self.salary

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值