python总结

这篇博客是对MIT 6.00x课程中Python编程知识的总结,涵盖了函数的使用、字符串的特点、循环结构以及数据结构(元组、字典和列表)。Python函数可以作为参数,字符串支持迭代和截取,循环包括for和while。数据结构中,元组是不可变的,字典使用键值对存储,列表则可以进行拼接操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚看完mit 的6.00x的课程,现在在这里总结一下学到的知识点:

思维导图等下补上:


(1)function(函数)

函数在python中是跟其他整形啊字符串啊等一样看成是一个对象,所以在python中,函数可以作为参数使用(这比某va好多了),示例如下:

def test(a):
    return a

def go(f):
    return f(5)

print go(test)

结果是:


(2)字符串:

python的字符串自带着实现了iterable接口,所以可以直接在循环中进行遍历,非常方便:

s = "fadfa"
for char in s:
    print char
将会逐步输出字符串中的字母

string类型在python中可以看成是一个list使用

但是python字符串最神奇的还不是这里,最神奇的是python字符串可以使用简单的截取方法和copy方法,虽然这样每次都会在内存中分配一个新的对象,但是不得不说,非常方便,下面给出几种情况:

1.python中以0为从开头开始的字符,-1表示最后一个字符

s = "fadfa"
s[0:n] #it will return a string that only contain from 0 and less than n
p = s[:] # it will return a clone of s
p = s[0:-1] #it will return unless the last element
p = s[0:] #it will return from 0 to the end
p = s[:-1] #it will return from begin(0) until the last element

这是python中较为经典的对字符串的使用

注:python中无论是整型还是字符串型都是一个类然后产生instance,不是像类似与java那种分成primitive和类两种

(3)循环

python中有两种循环:

一种是for循环(与java中的for加强完全一样),另一种是while

#for 
#range(integer) will return a sequence begin 0 until n -1
for char in range(n):
    print char

for char in xrange(n):
    print char

for char in sequence:
    print char

while i <  n:
    print i
    i += 1
    

这里的range与xrange都是起到同样返回一个从0到n-1的sequence的过程,不同在于xrange无论integer的范围有多大,都只是会每次访问这个值的时候才会去在内存中存储这个值,而range就是将一下子在内存中开辟一个连续的存储空间存储这个list,非常耗费内存,看看官方文檔:


(4)數據結構

數據結構主要分为三种类型:tuple,dictionary,list

tuple:(f,d)

dictionary:{key:value}

list:[]

下面来看看官方文档对这三个数据结构的解释:

可知tuple是不可变的,里面可以装任意类型的元素,并且可以使用,将两个tuple联合起来变成一个新的tuple

也可以使用,创建一个tuple,当你直接打出如下代码时,可以直接作出一个tuple

t = 1,

结果是:


下面再来看看list

注意的是在python中,stack何queue都是使用list

squares = [x**2 for x in range(10)]
list可以直接使用这种形式来创建,更为关键的是,list是mutable的,就是可变的,所以我们可以对其进行赋值和添加元素

list也可以通过+号来进行两个list的联合

t = [1,2]
s = [3,4,5]
a = s + t
我们可以看到结果为:

下面我们再看看dictionary,类似与java的map,它每个元素都是保存的key-value对,并且它的每个对的key都规定了必须是不可变的,所以dictionary中的key不能是list

dic是使用key来进行索引,而不是像tuple和list那样使用number来进行索引


必须注意的是从文档中可以看出,tuple里面必须不包含可变元素才可以是key

可以通过del方法去删除里面的一个元素

t = {1:'a'}
del t[1]
然后如果你想要得到其中的某个key,可以使用keys()方法返回key的一个list,然后在使用index得到:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值