python基础知识总结

来源:互联网 发布:js this 改变指向 编辑:程序博客网 时间:2024/05/16 01:54

一. list:
1. list是python中内置的一种数据类型的列表,list 有序的集合,可以任意删除或添加,len()可以获取list元素的个数。

 >>> classmates=['caoxuefen','bao','ch']>>> len(classmates)3

其用索引来访问每一个和C相同,都是从0开始。此外,当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界。
2.python有一个比较特别的是,如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,可以获取倒数第2个用-2、倒数第3个用-3:

 >>> classmates[-1]'ch'>>> classmates[-3]'caoxuefen'

3.此外出入用insert,删除尾部用pop(),删除某一个用pop(i),追加尾部append()

>>> classmates.append('siye')>>> classmates['caoxuefen', 'bao', 'ch', 'siye']>>> classmates.insert(1,'jak')>>> classmates['caoxuefen', 'jak', 'bao', 'ch', 'siye']>>> classmates['caoxuefen', 'jak', 'bao', 'ch', 'siye']>>> classmates.pop()'siye'>>> classmates['caoxuefen', 'jak', 'bao', 'ch']>>> classmates.pop(2)'bao'>>> classmates['caoxuefen', 'jak', 'ch']

替换可以直接给某一个赋值即可,此外,python中list中元素的类型可以不同。
4.list元素也可以是另一个list,比如:

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']>>> len(s)4

二.tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,即不变性(其不变性主要是说他的指向不变,具体详解见廖雪峰的python课程)。其存在的意义是让代码更安全。
当只有一个tuple元素的时候:

>>> t = (1)>>> t1

定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

>>> t = (1,)>>> t(1,)

三.if判断语句
首先要注意python中的缩进规则,此外注意不要少了:,最后if是按照顺序执行的,如果判断一个正确,则不执行下面代码。一段代码如下

age = 20if age >= 6:    print('teenager')elif age >= 18:    print('adult')else:    print('kid')>>> ================= RESTART: F:/life/机器学习/先定一个小目标/python/if.py =================teenager

要注意这个不能单独在shell里面去写在,需要写在.py文件中。
此外,这里还涉及到input的一些语法规则,这是因为input()返回的数据类型是str。
所以需要输入为整数的时候,还需要int()函数,一段代码如下:

s = input('birth: ')birth = int(s)if birth < 2000:    print('00前')else:    print('00后')

四.循环
所以for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句
再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

sum = 0for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:    sum = sum + xprint(sum)

此外,还有一个range函数,可以产生一个list整数列,range(101)就可以生成0-100的整数序列

sum = 0for x in range(101):    sum = sum + xprint(sum)

最后对于死循环的解决方案我们用Ctrl+C,退出程序。
五.dict
1).是一种python内置的词典,在其他语言中相当于map。
2).要避免key不存在的错误,有两种办法,一是通过in判断key是否存在。
3).要删除一个key,用pop(key)方法,对应的value也会从dict中删除。
4).和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
5).dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象.
六.set
1).set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。重复元素在set中自动过滤。
2).通过add(key)方法可以添加元素到set中。通过remove(key)方法可以删除元素。
3).set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])>>> s1 & s2{2, 3}>>> s1 | s2{1, 2, 3, 4}

4).对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。其中使用了str为对象,调用replace()这个例子。

>>> a = 'abc'>>> a.replace('a', 'A')'Abc'>>> a'abc'
0 0