ThinkPython总结

花了三个礼拜,基本看完了ThinkPython这本书,对于里面的很多练习题,自己都在PyCharm上编写了,不过最后一章关于Tkinter的习题没有练习。

这里就把自己看到的一些基本知识记录在这里,要不然过两天就忘了。

1.  变量 : 变量应该是编程过程中最常遇到的一个概念,也是最长使用的一个东西,在Python中,变量由字母和数字组成,而且必须由字母开头,不过在练习中发现,也可以用一个下划线 _ 表示一个不关心它的值的变量。在ThinkPython中作者强调变量只是对象的引用(reference),变量只是指向它所引用的对象。使用type()内置函数可以返回变量所引用的对象的类型。Python有一个很重的特点:变量的类型不是固定的,而是可变的。

2.  缩进:在Python中,不像C/C++中使用{}来表示一个块,也不像Matlab中在结尾使用end来表示一个块,而是使用缩进来表示一个块,同一块的缩进应该相同,我觉得其实这样出来的程序结构更好。

3.  条件语句和递归:在Python中一般的语句如赋值,结尾并没有任何特殊的字符。只是在一些特殊的语句,如条件语句,循环语句,函数定义,类定义的Head部分结尾处需要加一个冒号(colon)。条件语句就是 if  表达式:     else:        或者   if  表达式  : elif  表达式:          else:              循环语句有 while   表达式:             for  a in  sequence:        

以前一直搞不清楚迭代(iteration)和递归(recursion) 的区别,在这本书里,作者指出,迭代就是使用递归函数或者循环去重复地执行一些语句

4.  函数: 在Python中,有一些内置函数可以直接调用,如type(),len()等等。当然也可以用户自定义一些函数,使用def  函数名(形参):函数体。作者使用frutiful来表示有返回值的函数,使用return + 返回的内容。void function 就表示没有返回值的函数,不过可以使用return去强制函数结束。调用函数时的参数是实参,用argument 表示,函数定义时的参数为形参,用parameter表示 。函数的形参和函数内部定义的变量都是局部的(local),在函数调用结束后,就会消失,函数外边的变量都是全局的(global).

5.  Sequence:在python中,一些值得序列都被称为Sequence,对于Sequence可以使用下标来访问其中的某个元素,下标从零开始,-1表示最后一个元素的下标。可以通过下标范围来表示Sequence的一个切片(slice),,如a[1:5]就表示Sequence a 从下标为1的元素到下标为5的元素,不过不包括下标为5的元素。

6.  String: 字符的Sequence,特点是string中的元素是不可修改的(immutable)。关于string的很多方法(method)都是返回一个新的字符串,而没有改变原有的字符串。内置函数len可以获得字符的个数,ord能将字符转化为数字码,chr能将数值码转化为字符。

7.  List: 是一种Sequence,不过里面元素可以是任何类型,当然也可以是List。相对于String,List是kebiande(mutable),也就是可以通过下标访问和赋值改变某个元素的值。可以通过 + 将两个List 连接在一起,产生一个新的List。对于一个List 可以通过append方法在尾部添加一个新的元素,通过extend 将另外的一个List的全部元素添加到这个List 的尾部,不过参数必须是一个List。在String中,可以通过split方法以一个字符串以空格为分隔符,分割成一个列表。在List中可以通过 join 方法将一个列表中的元素转化为一个字符串。

8.  Tuple: 中文叫做元组,也是一个值的Sequence,不过是immutable,但可以通过 + 产生一个新的tuple。   

9.  Dictionary: 就是字典,是键值对(key-value)的一个Sequence,可以通过键去访问它所对应的值,不过字典中键值对的存储是无序的,不可预测的。是以Hashtable的形式来存储key,所以key必须是不可修改的。可以通过 items 方法获得一个元组的List,其中每一个元组都是一个键值对,相应地,可以使用元组的 List 来初始化一个字典。字典中常用的一些方法是 get ,setdefault 。字典中DSU(decorate, sort, undecorate)的使用就是字典和元组的结合。

10.  Class: 除了python的内置类型外,用户也可以自定义类型,这就是类。在类的定义中可以指定父类,类的所有方法的第一个参数都是调用类的那个实例(self)。还有一些特殊的方法,如__init__,  __str__,  操作符的重载函数__cmp__.

11.  文件操作: 可以直接使用open函数打开一个文件,也可以指定打开的模式,然后去访问打开的文件。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值