一、python展望:python应用非常广泛,是一种解释型万金油脚本语言。因为好用,轻巧,灵活深受开发者喜爱。不过因为是解释型脚本语言,所以安全性、一些动态编译等高级功能可能实现起来有很大难度,而且缺少一些类似于spring的重量级框架支持,所以java与python共分天下的的局面可能需要持续很长一段时间。预计以后java负责系统前端与系统对接,python负责业务逻辑与脚本的实现(多语言并存的局面)。可能以后会有更轻便的语言替代python,会有功能更强大的JVM语言替代java。谁知道呢!(咱们都学,反正思想不变,都是工具而已)
Python目前适合做的事情:脚本、爬虫、数据分析处理。
二、python 注释:单行注释以 # 开头;多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来(前面有赋值语句,这也是表示跨行字符串的意思)。
三、python脚本文件中开头必写的两行注释(指定用什么解释器运行脚本以及解释器所在的位置;用来指定文件编码为utf-8;):
#!usr/bin/python3
# -*- coding: utf-8 -*-
四、python对大小写是敏感的。
运算符 +,-,* ,/ 和 () 与其它语言一样。除法 / 永远返回一个浮点数。如要使用 除法 并且得到整数结果(丢掉任何小数部分),你可以使用 // 运算符;要计算余数你可以使用 % 。还可以使用 ** 运算符进行幂乘方运算(5**2,即5的二次方)。 = 用于给变量赋值。(交互模式中,最近一个表达式的值会自动赋给变量 _ ,phthon作为计算器使用时,这个可以用的上。)还有标准比较操作符 < , > , == , <=, >= 和 != 。
Python的字符串:单引号 ('...') 或双引号 ("...") 来标识。\ 可以用来转义特殊字符。如果需要打印字符串 \ ,需要在整个字符串前面加上 r ,表示这个字符串不进行转义,原样输出。(建议字符串还是用双引号标记比较好)字符串可以由 + 操作符连接(粘到一起),可以由 * 表示重复多次。相邻的两个字符串文本自动连接在一起(没有使用 + ),但是这样总感觉不是很规范,应避免这么去操作。字符串也可以被截取(检索),字符串的第一个字符索引为 0 ,索引也可以是负数,这将导致从右边开始检索(例如:word[-1])。除了索引,还支持切片。索引用于获得单个字符的字符串,切片让你获得一个子字符串,切片的索引有非常有用的默认值;省略的第一个索引默认为零,省略的第二个索引默认为切片的字符串的大小。(例如:word[-2:])一个过大的切片索引值(即下标值大于字符串实际长度)将被字符串实际长度所代替,当上边界比下边界大时(即切片左值大于右值)就返回空字符串。Python字符串不可以被更改(这跟java有点类似),因此赋值给字符串索引的位置会导致错误。内置函数 len() 返回字符串长度。
复合数据类型-list(列表): 列表的元素可以是多个类型(真正的泛型)(例: word=[1,"var",4234123])。列表可以被索引和切片。可以使用 append() 方法在列表的末尾添加新的元素;也可以对切片赋值,此操作可以改变列表的尺寸;内置函数 len() 同样适用于列表;列表也可以互相嵌套。
缩进是 Python 组织语句的方法,要为每一个缩进行输入 TAB或者空格 (一般建议使用四个空格,TAB弃用),同一个语句块中的每一行必须缩进同样数量的空白。 while 、if、for等这些流程控制功能的代码体都是需要缩进的,不然会解析失败。
用一个逗号结尾就可以禁止输出换行,例如: print(str1, end=',')
while语句:while ... :
…
if语句:if … :
...
elif … :
...
elif … :
...
else:
…
for语句: for 语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代(类似于foreach用法)
例:for w in words:
…
range() 函数可创建一个整数列表,一般用在 for 循环中。
range(start, stop[, step])
(start, stop[, step])
参数说明:
例:
a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
... print(i, a[i])
...
range() 函数返回的对象表现为它是一个列表,但事实上它并不是,我们称此类对象是 可迭代的 。list() 函数从可迭代(对象)中创建列表。
for、while循环可以有一个 else 子句;它在循环迭代完整个列表(对于 for )或执行条件为 false (对于 while )时执行,但循环被 break 中止的情况下不会执行。break 和 continue 语句和java中功能类似。
pass 什么也不做。它用于那些语法上必须要有什么语句,但程序什么也不做的场合。pass 可以默默的被忽视(可以当TODO使用)。
关键字 def 引入了一个函数 定义。在其后必须跟有函数名和包括形式参数的圆括号。函数体语句从下一行开始,必须是缩进的。函数体的第一行语句可以是可选的字符串文本,这个字符串是函数的文档字符串docstrings,还可以自动生成在线的或可打印的文档,建议要书写。函数名指代的函数体可以作为变量值赋给变量,然后这个变量就可以被当做函数使用。这可以作为通用的重命名机制。return 语句从函数中返回一个值,不带表达式的 return 返回 None。过程结束后也会返回 None。
建议把空格放到操作符两边,以及逗号后面,但是括号里侧不加空格:a = f(1, 2) + g(3, 4)