本文为学习深度学习前熟悉回顾python语法的准备工作,主要学习网站为python菜鸟,本文主要内容为一些最基础或容易混淆的基础知识与基本语法框架,仅供快速查阅,具体详细内容可在每部分链接直接跳转。
Python 基础教程 | 菜鸟教程 (runoob.com)
基础语法
1.中文编码
在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8。pycharm右下角可切换 。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
2.标识符
由字母、数字、下划线组成,不能以数字开头,区分大小写。
3.控制类
缩进必须严格执行。使用tab键缩进(相当于4个空格);使用空格键缩进(2个或4个)。
4.注释
单行注释:#;多行注释:''' ''';""" """(pycharm推荐)
5.换行
\n
数据类型
- Numbers(数字)Python Number(数字) | 菜鸟教程 (runoob.com)
- String(字符串)Python 字符串 | 菜鸟教程 (runoob.com)
- List(列表)Python 列表(List) | 菜鸟教程 (runoob.com)
- Tuple(元组)Python 元组 | 菜鸟教程 (runoob.com)
- Dictionary(字典)Python 字典(Dictionary) | 菜鸟教程 (runoob.com)
- 变量赋值简单粗暴不需要声明类型, 灵活多变,非常好用。
- 数字数据类是不可改变的数据类型,改变数字数据类型会分配一个新的对象。
- 字符串的操作有基本的功能不需要再自己进行拼接遍历的操作。
- 列表用 "[ ]" 标识类似 C 语言中的数组。
- 元组用 "( )" 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
- 字典用 "{ }" 标识。字典由索引 key 和它对应的值 value 组成。
运算符
Python 运算符 | 菜鸟教程 (runoob.com)
几个较为常见或容易忘记的符号
1.算数运算符
- / 除法
- % 返回除法的余数
- // 返回商的整数部分(向下取整)
2.位运算符
- & 与
- | 或
- ^异或
- ~取反
3.逻辑运算符
4.成员运算符
- in 在指定序列找到值返回True,否则False
- not in 逻辑相反
5.运算符优先级
基本语句框架
1.条件语句
(1)基本格式
if 判断条件:
执行语句……
else:
执行语句……
(2)多个判定条件
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
注意:由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
2.循环语句
(1)while语句
while(判定条件):
执行语句 ……
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环。
此外"判断条件"还可以是个常值,表示循环必定成立。同时,无限循环可以使用 CTRL+C 来中断循环。
# continue 和 break 用法
i = 1
while i < 10:
i += 1
if i%2 > 0: # 非双数时跳过输出
continue
print i # 输出双数2、4、6、8、10
i = 1
while 1: # 循环条件为1必定成立
print i # 输出1~10
i += 1
if i > 10: # 当i大于10时跳出循环
break
(2)for语句
for iterating_var in sequence:
statements(s)
通过序列索引迭代
#!/usr/bin/python
# -*- coding: UTF-8 -*-
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print ('当前水果 : %s' % fruits[index])
print ("Good bye!")
循环使用 else 语句【实例:判断质数】
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for num in range(10,20): # 迭代 10 到 20 (不包含) 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print ('%d 等于 %d * %d' % (num,i,j))
break # 跳出当前循环
else: # 循环的 else 部分
print ('%d 是一个质数' % num)
3.pass 语句
ass 一般用于占位置。
在 Python 中有时候会看到一个 def 函数:
def sample(n_samples):
pass
该处的 pass 便是占据一个位置,因为如果定义一个空函数程序会报错,当你没有想好函数的内容是可以用 pass 填充,使程序可以正常运行。(但是在python3.x可写可不写)
文件I/O
Python 文件I/O | 菜鸟教程 (runoob.com)
1. 读取键盘输入
- raw_input函数:返回一个字符串(去掉结尾的换行符)
请输入:Hello Python!
你输入的内容是: Hello Python!
- input函数 :可以接收一个Python表达式作为输入,并将运算结果返回。
请输入:[x*5 for x in range(2,10,2)]
你输入的内容是: [10, 20, 30, 40]
异常处理
Python 异常处理 | 菜鸟教程 (runoob.com)
- 简单的try....except...else的语法:
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
实例代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#This is note foe exception
try:
code #需要判断是否会抛出异常的代码,如果没有异常处理,python会直接停止执行程序
except: #这里会捕捉到上面代码中的异常,并根据异常抛出异常处理信息
#except ExceptionName,args: #同时也可以接受异常名称和参数,针对不同形式的异常做处理
code #这里执行异常处理的相关代码,打印输出等
else: #如果没有异常则执行else
code #try部分被正常执行后执行的代码
finally:
code #退出try语句块总会执行的程序
#函数中做异常检测
def try_exception(num):
try:
return int(num)
except ValueError,arg:
print arg,"is not a number"
else:
print "this is a number inputs"
try_exception('xxx')
#输出异常值
Invalide literal for int() with base 10: 'xxx' is not a number