Python 学习笔记_每天一小时

8.23

在Python中,通常用全部大写的变量名表示常量。

列表:

classmates = [‘Michael‘, ‘Bob‘, ‘Tracy‘]

还可以用-1做索引,直接获取最后一个元素:

也可以把元素插入到指定的位置,比如索引号为1的位置:

要删除list末尾的元素,用pop()方法:

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

tuple:

 classmates = (‘Michael‘, ‘Bob‘, ‘Tracy‘)

classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的

只有1个元素的tuple定义时必须加一个逗号,,来消除歧义

条件判断

if age >= 18:
    print ‘your age is‘, age
    print ‘adult‘

elif age >= 6:
    print ‘teenager‘

else: print ‘your age is‘, age print ‘teenager‘

循环

range(5)生成的序列是从0开始小于5的整数:

词典

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

注意:返回None的时候Python的交互式命令行不显示结果。

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

set集合

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

>>> s = set([1, 2, 3])
>>> s
set([1, 2, 3])

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

通过remove(key)方法可以删除元素:

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

再议不可变对象  我自己犯过的错误

对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:

>>> a = [‘c‘, ‘b‘, ‘a‘]
>>> a.sort()
>>> a
[‘a‘, ‘b‘, ‘c‘]

而对于不可变对象,比如str,对str进行操作呢:

>>> a = ‘abc‘
>>> a.replace(‘a‘, ‘A‘)
‘Abc‘
>>> a
‘abc‘

虽然字符串有个replace()方法,也确实变出了‘Abc‘,但变量a最后仍是‘abc‘,应该怎么理解呢?

我们先把代码改成下面这样:

>>> a = ‘abc‘
>>> b = a.replace(‘a‘, ‘A‘)
>>> b
‘Abc‘
>>> a
‘abc‘

要始终牢记的是,a是变量,而‘abc‘才是字符串对象!有些时候,我们经常说,对象a的内容是‘abc‘,但其实是指,a本身是一个变量,它指向的对象的内容才是‘abc‘

明天看 函数一节。

时间: 2024-11-10 13:24:09

Python 学习笔记_每天一小时的相关文章

Python学习笔记_每天一小时 8.24

8.24 函数 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数.可以直接从Python的官方网站查看文档: http://docs.python.org/2/library/functions.html#abs 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息. 比较函数cmp(x, y)就需要两个参数,如果x<y,返回-1,如果x==y,返回0,如果x>y,返回1 数据类型转换 Python内置的常用函数还包括数据类型转换函数,比如int(

Python学习笔记_零零一:Python基本介绍

Python介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构.Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言.Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序.Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装

Python学习笔记_字典(Dict)_遍历_不同方法_性能测试对比

今天专门把python的字典各种方法对比测试了一下性能效果. 测试代码如下: 1 def dict_traverse(): 2 from time import clock 3 my_dict = {'name': 'Jim', 'age': '20', 'height': '180cm', 'weight': '60kg'} 4 5 t_start = clock() 6 for key in my_dict: # 性能最差写法.无优化 7 print 'Type01.01: %s --- %

python学习笔记_字符编码

1.字符编码 ASCII码:一个byte=8位,128位中表示英文字母大小写.罗马字符等 GB2312.GBK.GB18030(中国自己的)表示汉字,早起一般移动设备    支持到GB2312 Unicode:万国码,2个byte=16位表示所有字符 UTF-8:可动态变化长度的编码.存英文1byte,中文3byte.python3字符集位UTF-8.python2默认编码是ascII码,若想在python2中支持中文等字符,在代码顶部增加#-*-coding:utf-8-*- 2.符号语法 单

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

python 学习笔记 3 -- 数据结构篇下

5.引用 当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 引用 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存.这被称作名称到对象的绑定.eg. [python] view plaincopy # -*- coding: utf-8 -*- shoplist = ['apple', 'mango', 'carrot', 'banana'] print "we copy the shoplist to mylist directly \"with

python学习笔记[2]-join 和 split

python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的. 1.join用法示例 >>>li = ['my','name','is','bob'] >>>' '.join(li) 'my name is bob' >>>'_'.join(li) 'my_name_is_bob' >>> s = ['my','name','is','bob'] >>> ' '.join