Python教程基础 第一章
一、基础
1、Python 中数字运算
1/2 = 0 整数除法得整数
1/2.0 = 0.5 浮点除得浮点数
1//2 = 0 整除
1%2 = 1 取余数
2**3 = 8 幂运算
2、获取用户输入
input("what is your name ? : ")
raw_input("what is your name ? : ")
3、内建函数
pow(2,3)=8 幂运算函数
abs(-10)=10 绝对值函数
round(1.0/2.0)=1.0 四舍五入函数
4、模块使用
import math #'import 模块名' 之后就可以通过 '模块名.函数名'使用函数
math.floor(23.9)=23.0 #取整数函数
int(23.0)=23 #类型转换函数转换成整型
from math import sqrt #'from 模块名 import 方法名' 之后就可以直接使用函数了
sqrt(9)=3 #开方函数
foo=math.sqrt #可以使用变量引用函数
foo(9)=3 #就可以通过引用的变量实现函数的功能
5、字符串的引号
在Python中使用单引号和双引号都可以表示字符串,如果字符串特别长可以使用三个引号表示长字符串。
如果字符串用的是单引号,但是在字符串内部也使用到了单引号就可以用反斜杠转义字符。'let\'s go!' >>> "let's go!"
使用加号('+')可以将两个字符串拼接起来。
6、值被转换成字符串的两种机制str、repr。
str函数是可以把值转换成合理形式的字符串,以便用户可以理解。
print str("hello,world!")>>>hello,world
print str(1000L)>>>10000
repr函数是创建一个字符串,以合法的Python表达式的形式来表示值。
print repr("hello,world!")>>>'hello,world!'
print repr(10000L)>>>10000L
二、列表和元组
1、Python中包含6中内建序列,列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。
2、序列
用中括号将元素包含起来,元素之间用逗号隔开,序列也可以包含其他序列。
索引:索引从开始依次向后是从0开始增大,序列的索引从最后一个开始依次向前是从-1开始。
greeting="hello" greeting[0]='h',greeting[-1]='o'
3、分片:通过用冒号相隔的两个索引表示之间的元素。
numbers=[1,2,3,4,5,6,7,8,9,10]
numbers[3:6] = [4,5,6] #分片是提供的两个索引作为边界,第1个索引包含在内,第2个索引不包含在内.
numbers[0:1] = [1]
numbers[-3:0] = [] #只要左边的索引比右边的索引晚出现,结果就是空的序列。
numbers[-3:] = [8,9,10]
umbers[:3] = [1,2,3]
numbers[:] = [1,2,3,4,5,6,7,8,9,10] #将两个索引都置空,就可以复制整个索引。
4、步长,默认步长是1,可以自定义设置步长,如设置成2
numbers[0:10:2] = [1,3,5,7,9]
不长为负数及从右向左提取元素。
numbers[8:3:-1] = [9,8,7,6,5]
5、序列相加:通过使用加号可以实现相同类型的序列连接在一起。列表和字符串是不能连接在一起的。[1,2,3]+[4,5,6] = [1,2,3,4,5,6]
6、序列相乘:用数字乘以序列会生成新的序列,在新的序列中原来的序列将被重复多次。
[42]*5 = [42,42,42,42,42]
7、None、空序列和初始化:None是Python中的内建值表示什么也没有,新建一个空序列时可以直接用[]表示,如果想构建一个特定长度的序列,就可以用None表示序列中的初始元素。
8、成员资格:in运算符可以判断一个元素是否序列的成员。
'w' in 'hello world!' >>> True
9、序列函数:
len 返回序列中包含元素的数量。
min 返回序列中最小的元素。
max 返回元素中最大的元素。
list 将其他类型的序列转化为列表。
10、列表元素赋值:使用索引来标记某个特定的、位置明确的元素赋值,如:x[2] = 4
del 删除元素 如:del x[1]
11、分片赋值:
name = list('perl')
name[2:] = list('ar')
name = ['p','e','a','r']
numbers = [1,5]
numbers[1:1] = [2,3,4]
numbers = [1,2,3,4,5]
numbers[1,4] = [] #通过分片赋值可以删除列表中的元素
numbers = [1,5]
12、列表方法
append 在列表末尾追加新的对象
count 统计某个元素在列表中出现次数
extend 可以在列表末尾一次性追加另一个列表的多个值,用新列表扩展原有列表。
index 用于找出某个值第一次出现的匹配项索引位置
insert 用于将对象插入到列表中。
pop 会移除列表中的元素(默认是最后一个),并且返回该元素。
remove 用于移除列表中某个值第一个匹配项。
reverse 将列表中的元素反向排序
sort 用于列表原位置排序
sorted 获取一个已排序列表的副本。
13、高级排序
cmp 提供了比较函数默认实现方式cmp(x,y) x>y 返回值为1,x<y返回值为-1,x=y返回值为0.
numbers = [5,2,1,9]
numbers.sort(cmp)
numbers = [1,2,5,9]
14、sort方法的另外两个参数key和reverse
x = ['a','abc','ab']
x.sort(key=len)
x = ['a','ab','abc']
另外reverse是简单的布尔值 True表示反向排序
x = [3,5,1,6,7,4]
x.sort(reverse=True)
x = [7,6,5,4,3,1]
15、元组:不可变序列,如果用逗号分隔了一些值,就自动创建了元组。
1,2,3 = (1,2,3)
() = () # 空括号表示一个空元组
42, = (42,) #即使是只有一个值 也要加一个逗号。
tuple类同list以一个序列作为参数将他转化成元组