python学习之路—基础篇
程序员文章站
2022-03-20 23:37:04
...
1、python中的list
- 用 [ ] 把list的所有元素都括起来,就是一个list对象
- list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据
- 例如L = [‘Michael’, 100, True]
- 正序时索引从 0 开始,我们也可以用 -1 这个索引来表示最后一个元素,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示:
- 用 list 的 append() 方法,把新数据追加到 list 的末尾;用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素
- pop()方法总是删掉list的最后一个元素,并且它还返回这个元素;pop(index),删除index处的元素
- 对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变,如 L[2] = ‘Paul’
2、Python中的tuple
- tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
- 创建tuple和创建list唯一不同之处是用( )替代了[ ]。
- Python 规定,单元素 tuple 要多加一个逗号“,”。
3、条件判断与循环
- if-elif-else
score = 85
if score>=90:
print 'excellent'
elif score>=80:
print 'good'
elif score>=60:
print 'passed'
else:
print 'failed'
- for
L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name
- while
N = 10
x = 0
while x < N:
print x
x = x + 1
- 用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句;
4、print
- print(n,end=”“): end=”指定在输出n后以什么结尾,如果不写end则默认换行
5、python中的部分函数
- abs(number),返回数字的绝对值
- float(object),把字符串和数字转换为浮点数 help(),提供交互式帮助 input(prompt),获取用户输入
- int(object),把字符串和数字转换为整数
- math.ceil(number),返回数的上入整数,返回值的类型为浮点数
- math.sin(),math.cos(),需要引入math包
- math.floor(number),返回数的下舍整数,返回值的类型为浮点数
- math.sqrt(number),返回平方根不适用于负数
- pow(x,y[.z]),返回X的y次幂(有z则对z取模)
- repr(object),返回值的字符串标示形式
- round(number[.ndigits]),根据给定的精度对数字进行四舍五入
- str(objct),把值转换为字符串
- len(),返还集合长度,如list,set,dict
- zip()函数可以把两个 list 变成一个 list
- 字符串的join(list)方法可以把一个 list 拼接成一个字符串
-
字符串的upper(),可以把字符串变成大写
6、python中的dict
- 花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
由于dict也是集合,len() 函数可以计算任意集合的。
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
- 可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key
- 一是先判断一下 key 是否存在,用 in 操作符:
如果 ‘Paul’ 不存在,if语句判断为False,自然不会执行 print d[‘Paul’] ,从而避免了错误。
'Paul' in d:
print d['Paul']
- 使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
int d.get('Bart')
59
print d.get('Paul')
None
- 更新dict时,如果key-value不存在,则插入key-value,存在则更新valu
- 遍历dict
- dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list;还有一个 itervalues() 方法,用 itervalues() 方法替代 values() 方法
- dict对象的items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value:
d= {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
for key in d:
print key,':',d[key]
7、python中的set
- set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。 创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素,set会自动去掉重复的元素
- 添加元素时,用set的add()方法,如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了。
- 删除set中的元素时,用set的remove()方法,如果删除的元素不存在set中,remove()会报错:
8、python中的函数
- 在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回,如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None,return None可以简写为return。
- Python的函数返回多值其实就是返回一个tuple
- 函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值
- 由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面
- 可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数;Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。
9、list进行切片
- List[first:second:third],在list中从first到second-1,每隔third取一个值,tuple也一样;对字符串切片也一样
- L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元**素。如果第一个索引是0,还可以省略。
-
索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。
10、python中的生成列表
- 写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法
[x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
- 列表生成式的 for 循环后面还可以加上 if 判断
[x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
- for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表
[m + n for m in 'ABC' for n in '123']
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']