python基础和编码规范
摘自腾讯云学院
1.1 python简介
python是一个高层次的结合了解释性,编译性,互动性和面向对象的脚本语言。
1.python是一种解释型语言:开发过程中没有编译这个环节。
2.python是交互式语言:可以在一个Python shell里,直接互动执行写你的程序。
3.python是面向对象语言:支持面向对象的风格或代码封装在对象的编程技术。
4.python是初学者的语言:易于学习,有丰富的标准库/模块。
1.2 python环境搭建
python版本
蓝鲸目前使用版本:Python2.7
Windows下安装:
进入python官网,下载Python2.7
第三方库安装
python不仅有丰富的标准库/模块,同时也有很多优秀的第三方库。
源码安装:python setup.py install
包管理器:pip/easy install
1.源码安装pip
2.pip install flask
一个好用的方法:
使用PyCharm管理:
1.PyCharm是一款Python IDE,具备功能:调试、语法高亮、项目管理、代码跳转、只能提示、自动完成、单元测试、版本控制等。
2.PyCharm拥有Python环境第三方库管理功能。
3.进入file>Settings,在输入框搜索interpreter.
4.找到Project Interpreter,选择不同的python版本。
点击“+”号,可以搜索安装需要的包。
1.3 python的语句格式
Python中文编码
用Python输出“Hello,World!”
用Python输出“你好,世界”
定义编码格式
Python2默认编码格式是ASCII,没有修改编码格式时无法正确处理汉字。
在Python文件开头加入# -*-coding:UTF-8或者#conding=utf-8
所有项目中的Python文件都应该设置编码格式为utf-8
如果你使用IDE,同时需要设置好编辑器的编码格式
以PyCharm为例:
1.进入file>Settings,在输入框搜索encoding。
2.找到Editor>File encodings ,将IDE Encoding 和 Project Encoding 设置为utf-8.
Python条件/循环语句
条件语句--if语句
循环语句--while语句和for语句
x = -1
while x>1:
x+=1
print x
for y in "hello Python":
print y
1.4 Python标准数据类型
Python标准数据类型-数字
numbers(数字)
1.int(有符号整型)
10
2.long(长整型)
11111111111111L
0b10(2进制)
0o10(8进制)
0x10(16进制)
3.float(浮点型)
15.215
对浮点数四舍五入:
>>>round(15.215,2)
>>>'{:.20f}'.format(15.215)
误差来自十进制转换成计算机内部二进制时,精读丢失。
使用decimal(标准库)
Decimal(‘15.215’).quantize(Decimal('.11'))
4.complex(复数)
4.53-7j
Python标准数据类型-字符串
String(字符串)
s = 'ilovepython'
1.Python访问字符串的值
(1)从左到右索引默认0开始的,最大范围是字符串长度少1
(2)从右到左索引默认-1开始的,最大范围是字符串开头
s[0] #i
s[1:5] #love
s[-6:] #python
s[::-1] #nohtypevoli #等价于s[-1::-1] #step为负数,从左向右截取
2.字符串常用内建函数
1.startswith()/endswith()
2.count()
3.find()/index()
4.join()
5.partition()
6.replace()
7.split()
8.strip()
python标准数据类型-列表
List(列表):
seq = ['physics','chemistry',1997,2000]
1.访问列表中的值:
seq[1]
seq[0:1] #切片参考string
2.更新/删除列表
seq[2] = 2001
del seq[2]
3.常用列表函数
len()
max()
min()
list()
4.常用列表方法
append()
extend() #a.extend(b) 或者 a+b
insert()
pop()
sort()
count()
index()
python标准数据类型-元组
Tuple(元组):
seq=('physics','chemistry',1997,2000)
seq='physics','chemistry',1997,2000 任意无括号对象,以逗号隔开,默认为元组
1.访问元组
参考列表(list)
2.更新、删除元组:
元组中的元素值不允许修改
3.常用元组函数
len()
max()
min()
tuple()
4.元组、列表运算符
(1,2,3)+(4,5,6) #(1,2,3,4,5,6)
[1]*3 #[1,1,1]
1 in (1,2,3)
for 1 in (1,2,3):
print i
5.元组方法
count()
index()
python标准数据类型-字典
字典(Dictionary):
dict2 = {'abc':123,98.6:37,(1,2):200};
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中。
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
1.字典基本操作:
dict['abc'] #取值
dict['abc'] = 321 #修改
del dict['abc'] #删除
2.字典特性
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
3.常用字典方法
clear()
fromkeys()
get()
has_key() #key in dict
items()
setdefault()
update()
keys()
1.5 Python函数
定义一个函数
def function_name(*args,**kwargs):
"""函数说明"""
#do_something
#return result
函数参数
1.必备参数
定义 def func(p)
调用 func(1) func(p=1)
2.缺省参数
定义 def func(a,b=1,c=2)
调用 func(1,1,1) func(1,c=1) func(1)
参数值 a=1,b=1,c=1 a=1,b=1,c=1 a=1,b=1,c=2
3.可变参数
定义 def func(a,*args,**kwargs)
调用 func(1,1,1) func(1,c=1) func(1)
参数值 a=1,args=(1,1),kwargs={} a=1,args=(,),kwargs={'c':1} a=1,args=(,),kwargs={}
匿名函数、
sum = lambda arg1,arg2:arg1+arg2
1.6 Python异常处理
什么是异常?
异常即事件,该事件在程序执行过程中发生,影响了程序的正常执行。
一般,在Python无法正常处理程序时就会发生异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
异常处理
捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法:
以下为简单的try...except...else的语法:
try:
<语句> #运行别的代码
except<名字>:
<语句> #如果在try部分引发了‘name’异常
except<名字>as<数据>:
<语句> #如果引发了定义的异常,获得附加的数据
else:
<语句> #如果没有异常发生,且没有return
finally:
<语句> #无论是否发生异常,都将执行最后的代码,之后return
python参考书籍
Python编码规范
用Python进行开发时的编码风格约定(epes:PEP 008 《Style Guide for Python Code》)
分号:不要在行尾加分号,也不要用分号将两条命令放在同一行。
行长度:每行不超过80个字符
括号:宁缺毋滥的使用括号
缩进:使用4个空格来缩进代码,不要使用tab,或者tab空格混用
空行:函数或者类定义之间空2行,方法定义之间空1行
空格:spam(ham[1], {eggs: 2}, []) x = 1 def complex(real, imag=0.0):
类:如果一个类不继承自其他类,就显式的从object继承,嵌套类也一样。
导入格式:每个导入应该独占一行
语句:通常每个语句应该独占一行 if a == 1:do(a) a=1 if a == b else 0