本文是本人学完Python后的一遍回顾,加深理解顺便留作手册以备查阅。
学习Python的这几天来,觉得Python还是比较简单,容易上手的,就基本语法而言,但是有些高级特性掌握起来还是有些难度,需要时间去消化。Python给我最大的印象就是语法简洁,就像写伪代码一样,很多其他语言要用很多行才能实现的操作Python可能几行就搞定了,这让人摆脱了繁杂的语法而专注于问题本身,这也正是我为什么不太喜欢Java的原因之一,虽然它很强大。
一、Python简介
Python是一种用来编写应用程序的高级程序设计语言,TIOBE程序语言排行榜2016年4月的排名如下:
TIOBE 2016.04
Python实现强势逆袭,而且我相信,随着时间的推移,国内Python语言未来前景也是一片向好。
Python的特点是优雅简单,易学易用(虽然我感觉还是有一些概念不容易理解),Python的哲学是尽量用最少的,最简单易懂的代码实现需要的功能。Python适宜于开发网络应用,脚本写作,日常简单小工具等等。Python的缺点是效率较低,但是在大量的场合效率却不是那么重要或者说Python不是其性能瓶颈,所以不要太在意。其次是2.x-3.x的过渡使得许多3.x还缺少很多2.x下的模块,不过也在完善中。其次就是源代码无法加密,发布Python程序其实就是发布源代码。
二、基础语法要点
1.如果一个字符串中有许多需要转义的字符,而又不想写那么多\
,那么可以用 r'...'
表示 '...'
内的内容不转义。
2.Python可用'''...'''
来表示多行内容,如:
>>> print('''line1
line2
line3''')
line1
line2
line3
3.Python的逻辑运算and, or, not 分别对应C语言中的&&
, ||
, !
.
4.Python的整数与浮点数大小都没有范围。
5.Python中除法有两种: /
除出来必是浮点数, //
除出来是整数,即地板除。
6.Python中一切皆引用。每个对象都有一个引用计数器(内部跟踪变量)进行跟踪,引用计数值表示该对象有多少个引用,当初次产生赋给变量时,引用计数为1,其后没进行下列行为中的任意一种都会增加引用计数:
赋值: a = b
用作函数参数传递: func(a)
成为容器对象的一个元素: lis = [1,2,a]
以下任意一种行为都会减少引用计数:
del销毁: del a
变量另赋给其他对象:a = False
对象从容器中删除: lis.remove(a)
身在的容器被销毁: del lis
7.深拷贝与浅拷贝的概念与对比,有点复杂,看这篇文章
8.list,tuple和dict,set
list: 为列表,是一个有序集合,类似于数组但又比数组功能强大,可以随时append,pop元素,下标从0开始,且下标为加n模n制,即lis[-1] = lis[len-1],下标范围[-len,len-1].
tuple:为元组,类似于list,但list为可变类型,而tuple不可变,即没有append,pop等函数。一个建议是为了安全起见,能用tuple代替list尽量用tuple。如果tuple只有一个元素,要写成如(1,)以避免歧义。
dict:字典类型,存放key-value键值对,可以根据key迅速地找出value,当然,key必须是不可变类型,如下是错误的:
>>> dic =