廖雪峰 python2.7 学习笔记1

来源:互联网 发布:研究生论文数据造假 编辑:程序博客网 时间:2024/05/18 21:50
  • exit()退出Python
  • 命令行中先进入文件所在的目录,然后利用python example.py就可以运行文件了
  • print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出。print会依次打印每个字符串,遇到逗号“,”会输出一个空格
  • Python提供了一个raw_input,可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
>>> name = raw_input()Michael

可以直接输入name查看变量内容;要打印出name变量的内容,除了直接写name然后按回车外,还可以用print语句

  • raw_input可以让你显示一个字符串来提示用户
name = raw_input('please enter your name: ')print 'hello,', name
  • 变量本身类型不固定的语言称之为动态语言(比如python),与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错(例如Java是静态语言)。
  • 理解变量在计算机内存中的表示也非常重要。当我们写:
    a = 'ABC'
    时,Python解释器干了两件事情:
    1.在内存中创建了一个'ABC'的字符串;
    2.在内存中创建了一个名为a的变量,并把它指向'ABC'
    也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:
a = 'ABC'b = aa = 'XYZ'print b

最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出ba相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:
1.执行a = 'ABC',解释器创建了字符串'ABC'和变量a,并把a指向'ABC'
2.执行b = a,解释器创建了变量b,并把b指向a指向的字符串'ABC'
3.执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改
4.所以,最后打印变量b的结果自然是'ABC'

  • 整数除法永远是整数,即使除不尽。要做精确的除法,只需把其中一个整数换成浮点数做除法就可以
  • 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
  • Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换:
>>> ord('A')65>>> chr(65)'A'
  • Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u’…’表示,比如:
>>> print u'中文'中文>>> u'中'u'\u4e2d'
  • 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python# -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

  • 在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:
>>> 'Hello, %s' % 'world''Hello, world'>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)'Hi, Michael, you have $1000000.'

%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

  • 字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%

  • Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

>>> classmates = ['Michael', 'Bob', 'Tracy']>>> classmates['Michael', 'Bob', 'Tracy']

变量classmates就是一个list。用len()函数可以获得list元素的个数:

>>> len(classmates)3

用索引来访问list中每一个位置的元素,记得索引是从0开始的:

>>> classmates[0]'Michael'>>> classmates[1]'Bob'>>> classmates[2]'Tracy'>>> classmates[3]Traceback (most recent call last):  File "<stdin>", line 1, in <module>IndexError: list index out of range

当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,以此类推,可以获取倒数第2个、倒数第3个。
list是一个可变的有序表,所以,可以往list中追加元素到末尾:

>>> classmates.append('Adam')>>> classmates['Michael', 'Bob', 'Tracy', 'Adam']

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

>>> classmates.insert(1, 'Jack')>>> classmates['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

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

>>> classmates.pop()'Adam'>>> classmates['Michael', 'Jack', 'Bob', 'Tracy']

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

>>> classmates.pop(1)'Jack'>>> classmates['Michael', 'Bob', 'Tracy']

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

>>> classmates[1] = 'Sarah'>>> classmates['Michael', 'Sarah', 'Tracy']
原创粉丝点击