1.1 Python基本语法重点总结
对于如何安装Python,可以参考此博客
Python本地安装以及intelliJ IDEA使用Python插件
本文主要整理以及筛选易忽略而又重要的一些基础知识,以便日后回顾。
参考教程:菜鸟教程
基本常识
-
交互式编程
通过 Python 解释器的交互模式来编写代码 -
脚本式编程
通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效 -
行和缩进
Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。 -
标识符
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数 -
保留字符(关键字)
基本语句
-
输出语句
print输出字符串单引号''和双引号""皆可,但字符串里有双引号时,需要使用单引号 print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 , 如:print x,
-
输入语句
input
该语句可以在括号里加提示输入语句,如:input(“请输入一个数字”) -
注释
#表示单行注释 '''三个单引号开始和结束,表示多行注释 """三个双引号开始和结束,也表示多行注释
-
赋值语句
Python 中的变量赋值不需要类型声明a = 1 单个变量赋值 a = b = c = 1 多变量赋值(连续定义) a, b, c = 1, 2, "hello" 对称定义
del
你可以通过使用del语句删除单个或多个对象 -
条件语句
if语句if 判断条件: 执行语句 else: 执行语句
if多条件判断语句
if 判断条件1: 执行语句 elif 判断条件2: 执行语句 elif 判断条件3: 执行语句 else: 执行语句
注:由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功
-
循环语句
whilewhile 判断条件: 执行语句
注:while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环
while … else
while … else 在循环条件为 false 时执行 else 语句块,也就是循环执行完毕后,执行else中语句for
for var in seq: statements(s) # var 指明变量 #seq指明序列
for … else
同while…else语句break
如果你使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码continue
跳过当前循环的剩余语句,然后继续进行下一轮循环
补充扩展:这里介绍一种python八皇后问题的解法 (循环递归法)
#* queen problem with recurison
BOARD_SIZE = 8
def under_attack(col, queens):
left = right = col
for r, c in reversed(queens):
#左右有冲突的位置的列号
left, right = left - 1, right + 1
if c in (left, col, right):
return True
return False
def solve(n):
if n == 0:
return [[]]
smaller_solutions = solve(n - 1)
return [solution+[(n,i+1)]
for i in xrange(BOARD_SIZE)
for solution in smaller_solutions
if not under_attack(i+1, solution)]
for answer in solve(BOARD_SIZE):
print answer
-
pass 语句
Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句 -
函数
定义函数def functionname( parameters ): "函数_文档字符串" function_suite return [expression]
函数调用
函数名称() -
异常处理
try/excepttry: <语句> #运行别的代码 except <名字>: <语句> #如果在try部份引发了'name'异常 except <名字>,<数据>: <语句> #如果引发了'name'异常,获得附加的数据 else: <语句> #如果没有异常发生
try-finally
try: <语句> finally: <语句> #退出try时总会执行
raise
可以使用raise语句自己触发异常raise [Exception [, args [, traceback]]]
用户自定义异常
通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式
数据类型
具体方法及高级用法将在另一篇文章展开,这里只做简单介绍
-
Number 数字
python支持四种不同的数字类型:
- int
- long
- float
- complex 复数
-
String 字符串
-
List 列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
list = [1, 2, 3, 4, 5 ]
append()增加
del 删除 如:del list[1] 删除 -
Tuple 元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可tup1 = (1, 2, 3, 4, 5 )
tup2 = “a”, “b”, “c”, “d”
tup1 = ()访问元组
元组可以使用下标索引来访问元组中的值,元组中的元素值是不允许修改的,但我们可以对元组进行连接组合tup1 + tup2 即 (1, 2, 3, 4, 5,“a”, “b”, “c”, “d”)
-
Dictionary 字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中d = {key1 : value1, key2 : value2 }
访问字典里的值
把相应的键放入熟悉的方括弧dict[‘Name’]
删除字典元素
del dict[‘Name’] # 删除键是’Name’的条目
dict.clear() # 清空词典所有条目
del dict # 删除词典 -
None 空值
类似null
后言:还有很多细节没有补充,后续会慢慢完善。
之后继续写一些重要的方法,以及python面向对象的介绍。
小建议:python入门还是比较快的,对新手比较友好,新手学习的话,个人感觉不要过分依赖python库,否则编程能力后续会很难提高。