• 热门专题

python新手笔记

作者:colive博客  发布日期:2011-08-09 18:05:38
Tag标签:python  新手  笔记  
  • 感觉python挺好玩的,所以这几天看了一些,一些东西记在本子上还不如记在网上,所以写在blog上,也方面以后复习。希望也能帮一下别人,大家一起共勉,因为是新手,有错误希望大家纠正
    1.元组和列表的区别
    列表使用中括号“[]”括起来的,元组是用小括号“()”括起来的。
    你可以添加、删除或是搜索列表中的项目。
    由于你可以增加或删除项目,所以列表是可变的数据类型,
    即这种类型是可以被改变的。

    元组和列表十分类似,但是元组是不可变的.
    也就是说你不能修改元组。
    元组通过圆括号中用逗号分割的项目定义。
    元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,
    即被使用的元组的值不会改变。
    eg1:
    >>> myname = ['colive','anhe','zhangmo']
    >>> myname
    ['colive', 'anhe', 'zhangmo']
    >>> myname[1]='an'
    >>> myname
    ['colive', 'an', 'zhangmo']
    列表元素可以修改
    >>> name=('colive','anhe','zhangmo')
    >>> name
    ('colive', 'anhe', 'zhangmo')
    >>> name[1] = 'an'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment
    >>>
    元组元素不能修改


    2.字典使用大括号“{}”括起来的。
    字典是由键-值(key-value)对构成。字典可以插入删除
    eg2:
    >>> my = {'name' : 'colive', 'age' : 18}  //创建字典
    >>> my                              //输出字典元素
    {'age': 18, 'name': 'colive'}
    >>> my['num'] = 1                   //添加字典元素
    >>> my
    {'age': 18, 'num': 1, 'name': 'colive'}
    >>> my.keys()                        //输出字典的key
    ['age', 'num', 'name']
    >>>  for me in my:                  //for循环输出字典元素
    ...     print me, my[me]
    ...
    age 18
    num 1
    name colive
    >>>
    3.python 变量的赋值;
    a.单一赋值
    >>>x = 2
    >>>x
    2
    b.多重赋值
    >>>x=y=z=1
    >>>x
    1
    >>>y
    1
    >>>z
    1
    注:
    >>>x=1
    y=(x=x+1)
    这个是错误的。
    >>>x=1
    >>>y=x=x+1
    这个是正确的,原因python的赋值语句不会返回值。
    c.多元赋值
    >>>x,y,z=1,2,'string'
    >>>x
    1
    >>>y
    2
    >>>z
    'string'

    多元赋值并不是python的官方术语,而是将“mul-tuple”连接在一起自创的,因为采用这种方式赋值时,等号两边的对像都是元组。

    python中变量的交换可以不需要中间变量。
    >>>x,y=1,2
    >>>x,y=y,x
    >>>x
    2
    >>>y
    1

     

    注;python中,赋值并不是直接将一个值赋给一个变量,python中,对象是通过引用传递的,在赋值时,不管这个对象是新建的,还是一个已经存在的,都是将该对象的引用(而不是值)赋值给变量。

     

    1.对象比较

    注意如下:

    eg1:

    >>>a=b=1

    >>> a is b

    Ture

    eg2:

    >>>a=4

    >>>b=4

    >>> a is b

    Ture

    eg3:

    >>>a=4.1

    >>>b=3.0+1.1

    >>>a is b

    False

    原因:首先是一个数字对象被建了,传给了a,接着创建了第二个数字对象传给了b,尽管2个对象存储的值相同,但是却是2个独立的对象。实际上a is b等于id(a) == id(b),这是一个判断,id()对对象身份的一种识别,返回一个整形或者长整形数字,相同的对象在不叠加的生命时间内,具有相同的id。所以说a is b,答案是false。那么思考eg4和eg5,结果会让你惊奇。

    eg4:

    >>>a=4

    >>>b=3+1

    >>>a is b

    eg5:

    >>>a=1.0

    >>>b=1.0

    >>>a is b

    ?

     

    本文出自 “colive” 博客

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规