本文实例讲述了Python程序控制语句用法。分享给大家供大家参考,具体如下:1、换行在Pytho
本文实例讲述了Python程序控制语句用法。分享给大家供大家参考,具体如下:
1、换行
在Python中默认换行结束一个语句而不是使用分号,而如果我们的语句无法在一行放下需要换行时,就需要在行尾使用\表示这一行没有结束。而在()、[]、{}内的逗号换行则不需要。
str='Hello'+\
' World'
print(str) #不会报错,输出:Hello World
list1=[1,2,
3,4]
print(list1) #输出:[1, 2, 3, 4]
2、条件语句
python的代码块通过缩进来指示,if条件判断以:结束,并在下一行通过缩进表示一个代码块的开始,如果不遵守缩进格式则会报错。其格式如下:
print("请输入你的成绩")
score=int(input())
if score>=90:
print("优秀!")
elif score<60:
print("不及格!")
else:
print("良好")
3、循环语句
while:
i=0
count=0
while i<100:
if i%3==0:
count+=1
i+=1
print("100以内3的倍数有%d个"%count)
for可以循环遍历元素集合中的每个元素,例如:
count=0
list1=[5,12,6,17,8,9,20]
for i in list1:
if i>10:
count+=1
print("list1中大于10的数有%d个"%count)
通过enumerate可以访问到集合的索引:
L = ['Adam', 'Lisa', 'Bart']
for index, name in enumerate(L):
print (index+1, '-', name,end=' ')
#输出:1 - Adam 2 - Lisa 3 - Bart
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
sum = 0.0
for k, v in d.items(): #通过items()访问键值
sum = sum + v
print k,':',v
print 'average', ':', sum/4
#输出:Lisa : 85 Paul : 74 Adam : 95 Bart : 59 average : 78.25
输出:1 - Adam 2 - Lisa 3 - Bart
列表推导式可以通过for循环作用于列表,生成列表元素
list1=[1,2,3]
list2=[2,3,4]
print([x*y for x in list1 for y in list2])
#输出:[2, 3, 4, 4, 6, 8, 6, 9, 12]
print([x for x in list1 if x>1])
#输出:[2, 3]
循环嵌套:
for i in range(1,10): #range表示从1到9的数
for j in range(1,i+1):
print("%d × %d = %-5d"%(i,j,i*j),end=' ')
print()
可以通过break跳出本层循环,continue跳过本次循环,pass语句表示占位,没有实际的功能。
例如输出100以内的素数:
i=2
while i<100:
flag=True
j=2
while j<i:
if i%j==0:
flag=False
break #当可以整除时,此时i不是素数,则不必继续往下判断,跳出本层循环
j+=1
if flag:
print(i,end=' ')
i+=1
4、函数
函数通过“def”关键字进行声明,后接函数标识符名称和圆括号()
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。可选参数以集合的方式放在必选参数之后,可以赋予默认值。已命名的参数需要赋值。
函数的第一行语句可以选择性地使用文档字符串,用于存放函数说明,通过函数名.__doc__输出该信息
return [表达式] 结束函数,返回一个值给调用方。不带表达式的return相当于返回None。也可以返回一个元组(使用元组拆包可以有效返回多个值)
def myFunction(list1,int1=0,str1="default"): #函数定义,其中int1,str1为可选参数
"这是函数文档说明"
list1.append("add")
int1+=1;
return list1,int1,str1 #返回元组
print(myFunction.__doc__) #输出函数文档:这是函数文档说明
list1=[1,2,3]
print(myFunction(list1)) #打印返回的元组:([1, 2, 3, 'add'], 1, 'default')
v1,v2,v3=myFunction(list1) #对返回结果进行拆包,并分别传给三个变量
print(v1,v2,v3) #分拆结果输出:[1, 2, 3, 'add', 'add'] 1 default
还可以传入可变数量个参数*args,其实际上是一个元组tuple,通过遍历可以取出其可变的参数
def average(*args):
if len(args)==0: #若没有参数传入
return 0.0
else:
sum=0.0
for i in args: #遍历参数元组内容
sum+=i
return sum/len(args)
print(average()) #输出:0.0
print(average(1, 2, 2, 3, 4) ) #输出:2.4
5、全局变量
全局变量在函数之外声明
局部变量在函数内容声明或是函数参数
如果想要修改全局变量的值,必须在函数开始用global关键字进行声明,否则会被认为是函数内新的局部变量
var=5
def fun():
global var #函数内部声明使用全局变量var并对其进行修改
var=3
fun()
print(var) #输出:3,而不是5
6、类的定义与使用
类的第一行可选字符串,输出类帮助信息
类属性可以通过实例内或者外部通过类进行访问
__init__()是类的构造函数,在创建一个类实例时自动调用,完成对实例属性的初始化工作。类方法的第一个参数默认为self,代表实例本身,可以通过它访问实例本身的属性,在调用时不必传给参数
class Student(object):
"这是一个学生类" #类帮助信息
studentCount=0 #类属性
def __init__(self,name,age): #类构造函数
self.name=name #初始化属性
self.age=age
Student.studentCount+=1
def showCount(self):
print("现在学生人数为:%d"%Student.studentCount) #访问类属性
def showStudent(self): #定义类方法
print("姓名:%s,年龄:%d"%(self.name,self.age))
print(Student.__doc__) #输出类帮助信息
s1=Student('小明',15) #类实例化
s2=Student('小李',23)
s1.showCount() #调用类的函数
s2.showStudent()
7、文件操作
通过python自带的函数库完成对文件的读写,open()函数第一个参数为文件路径,第二个为打开方式
with open("test.txt",'wt') as w_file:
w_file.write("文件写入测试!")
with open("test.txt",'rt') as r_file:
str=r_file.read()
print(str)
8、异常处理
在try后放入可能存在异常的函数体,通过except捕获异常并执行相应操作,否则执行else后的语句,最后无论是否出现异常都执行finally后的语句
def except_fun():
try:
10/0
except:
print("发生异常")
else:
print("正常执行")
finally:
print("程序结束")
except_fun()
#输出:
#发生异常
#程序结束
9、调用外部函数库
利用python强大的外部资源可以非常便捷地完成一些操作
import random #导入外部库
from time import time #from 外部库 import 某个函数
import numpy as np #导入库并重命名
import matplotlib.pyplot as plt
rdm=random.randint(1,100) #在1到100之间产生随机数
print(rdm)
start=time() #产生当前的时间函数
print(start)
x=np.linspace(1,10,100) #在1到10之间产生100个等差数并返回列表x
y=2*x+1
plt.figure() #绘制图片
plt.scatter(x,y) #将列表数据x、y绘制到图片,结果为一条直线
print("程序运行时间:%f"%(time()-start)) #通过time函数计算程序的运行时间
10、获取帮助
dir()可以打印某个类型的所有函数,help()可以打印某个类的帮助信息
dir(int)
help(list)
Python
程序控制语句