一、 空格
- 赋值“=”前后 各一个空格。
- 所有二元运算符都用空格与操作数分开。
- 括号内不要有空格
- 逗号,冒号,分号前不要有空格,而是后面有一个空格。
if x==88:
print x, y
x, y = y, x
- 参数列表,索引或切片的左括号前不应有空格。
dogs[“key”] = list[index]
二、 断行
- 逗号后面断开
- 运算符前断开
- 在括号中断开,尽量不要用续行符“”。“”可以作为续行时使用。但在大括号,中括号,小括号中续行是隐式的。
三、 数据类型
- type()函数可以返回传入数据的类型:<class”float”>
- {0} 的年龄是 {1:d} 岁。 d表示整型,f表示浮点型,指明数据类型。
print('test:{0:.3f}'.format(math.pi))
.3f 表示浮点数的精度为3(小数位保留3位)
3.{1:d} 格式化十进制数;{0:5d} 输出长度为5的字符串,不足用空格补齐
{1:.2f} 保留两位小数
{1:10.2f} 10表示总长度,包括小数点和小数部分,不足用空格补齐
- 可以用str()函数将任何类型的数字转换为字符串
>>>str(3.24)
‘3.24’
- int()和float()可以将字符串转换为数字。
>>>int(‘9’)
9
float(‘9.6’)
9.6
四、控制语句
1. for I in range(1,10) 1≤i<10
2.跳转语句:break,continue,return
2.1 break:强行退出循环体,不再执行循环体剩下语句。
for item in range (10):
if item ==3:
break #跳出循环
print(“count is : {0}”.format(item))
运行结果:
count is :0
count is :1
count is :2
2.2 continue:结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。
for item in range (5):
if item ==3:
continue
print(“count is : {0}”.format(item))
运行结果:
count is :0
count is :1
count is :2
count is :4
count is :5
五、列表
1.创建列表:可以用list([iterable])创建,或者用[ ]把元素括起来。
>>>[20,10,15,'hello']
2.追加元素:
list.append(x):追加单个元素x
list.extend(['x','y']):追加多个元素
3.插入元素:list.insert(i,'x'):参数i为要插入的索引,x为要插入的元素数值
>>>student_list=['张三','李四','王五']
>>>student_list.insert(2,'董六')
>>>student_list
['张三','李四','董六','王五']
4.reverse():倒置列表
copy():复制列表
clear():清除列表中的所有元素
index(x[,i[,j]]):返回查找x第一次出现的索引,i是开始查找索引,j是结束查找索引。
count(x):返回x出现的次数
5.获得0-9中偶数的平方列:
>>>n_list=[]
>>>for x in range (10):
>>> if x%2=0:
>>> n_list.append(x**2) #x**2为求x的2次幂
>>>print(n_list)
[0,4,16,36,64]
六、集合
1.集合(set)是一种可迭代的,无序的,不能包含重复元素的数据结构。与序列比较,序列中的元素是有序的,可以重复出现,但集合中的元素是无序的,且不能有重复元素。集合分为可变集合(set)和不可变集合(frozenset)
2.创建可变集合:用set([iterable])或者用 { }把元素括起来,元素之间用逗号隔开:a={'张三','李四','王五'}。创建空集只能用:b=set( )表示。
3.创建不可变集合:只能使用frozenset([iterable])函数。
>>>student_set=frozenset({'张三','李四','王五'})
4.创建字典:可以使用dict函数,或者用{ }把“键:值”括起来。
>>>dict1={102:'张三',105:'李四',109:'王五'}
>>>len(dict1)
3
5.遍历字典:
student_dict={102:'张三',105:'李四',106:'王五'}
print('---遍历键---’)
for student _id in student_dict.keys():
print('学号:'+str(student_id))
---遍历键---
学号:102
学号:105
学号:109
七、面向对象编程
- 定义类(Animal)代码:Class Animal()
- 创建对象:在类后面加小括号,表示调用类的构造方法:animal = Animal()
- 类变量代码:
class Account:
“定义银行账户类”
interest_rate = 0.0668 #类变量利率
def_init_(self,owner,amount):
self.owner = owner #定义实例变量账户名
self.amount = amount #定义实例变量账户金额
account = Account(‘Tony’,1_800_000.0)
print(‘账户名:{0}’.format(account.owner))
print(‘账户金额:{0}’.format(account.amount))
print(‘利率:{0}’.format(Account,interest_rate))
输出结果为:
账户名:Tony
账户金额:1800000.0
-
构造方法_init_():用来创建和初始化实例变量,定义时第一个参数应该是self,其后的参数才是用来初始化实例变量的。调用构造方法时不需要传入self。
-
异常处理:
AttributeError异常:试图访问一个类中不存在的成员而引发的异常。
OSError:操作系统相关异常。python3.3后IOError(输入输出异常)也并入OSError异常。例如:未找到文件、磁盘已满等异常。
IndexError异常:访问序列元素时,下标索引超出取值范围所引发的异常。
KeyError异常:访问字典里不存在的键时引发的异常。
NameError异常:试图使用一个不存在的变量而引发的异常。
TypeError异常:试图传入变量类型与要求的不符合时而引发的异常。
ValueError异常:由于传入一个无效的参数值而引发的异常。
八、常用模块
8.1 math模块
math模块可以进行数学运算,如指数、对数、平方根和三角函数等运算。math模块中的函数只是整数和浮点,不包括复数,复数计算需要使用cmath模块。
- 舍入函数
math.ceil(a)返回大于或等于a的最小整数;
math.floor(a)返回小于或等于a的最大整数;
round(a):四舍五入运算。
- 幂和对数函数
对数:math.log(a[,base])返回以base为底的a的对数,省略底数base,是a的自然对数
平方根:math.sqrt(a)
幂:math.pow(a,b)返回a的b次幂的值
- 三角函数
math.sin(a):返回弧度a的三角正弦
math.cos(a):返回弧度a的三角余弦
math.tan(a):返回弧度a的三角正切
math.asin(a):返回弧度a的反正弦
math.acos(a):返回弧度a的反余弦
math.atan(a):返回弧度a的反正切
math.degress(a):将弧度a转换为角度
mah.radians(a):将角度转换为弧度
8.2 random模块
random模块提供一些生成随机数函数
- random.random():返回在范围大于或等于0.0,且小于1.0内的随机浮点数。
- random.randrange(stop):返回在范围大于或等于0,且小于stop内,步长为1的随机整数。
- random.randrange(start,stop[,step]):返回在范围大于等于start,且小于stop内,步长为step的随机整数。
- random,randint(a,b):返回在范围大于等于a,且小于等于b之间的随机整数
8.3 datetime模块
- datetime模块中提供了以下几个类:
datetime:包含时间和日期
date:只包含日期
time:只包含时间
timedelta:计算时间跨度
tzinfo:时区信息
- 创建datetime对象:datetime.datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0,tzfino=None)
- 创建date对象:datetime.date(year,month,day)
- 使用date时需要导入datetime模块
- date.today():返回当前本地日期
- date.fromtimestamp(timestamp):返回与UNIX时间戳对应的本地日期
- time类:一个time对象可以表示一天中时间信息
创建time对象:datime.time(hour=0,minute=0,second=0,microsecond=0)
8.4 日期时间计算
>import datetime
>datetime.date.today()
datetime.date(2020,2,11)
>d = datetime.timedelta(10)
>d += delta
>d
datetime.date(2020,2,21)
>d = datetime.date(2018,1,1)
>delta = datetime.timedelta(weeks = 5)
>d -= delta
>d
datetime.date(2017,11,27)
指 令 | 含 义 | 示 例 |
%m | 两位月份表示 | 01,02,13 |
%y | 两位年份表示 | 08,18 |
%Y | 四位年份表示 | 2008,2018 |
%d | 月内的一天 | 1,2,3 |
%H | 两位小时表示(24小时制) | 00,01,23 |
%I | ||
%p | ||
%M | ||
%S | ||