Python程序控制语句用法实例分析


Posted in Python onJanuary 14, 2020

本文实例讲述了Python程序控制语句用法。分享给大家供大家参考,具体如下:

1、换行

在Python中默认换行结束一个语句而不是使用分号,而如果我们的语句无法在一行放下需要换行时,就需要在行尾使用\表示这一行没有结束。而在()、[]、{}内的逗号换行则不需要。

str='Hello'+\
  ' World'
print(str)    #不会报错,输出:Hello World
list1=[1,2,
   3,4]
print(list1)   #输出:[1, 2, 3, 4]

2、条件语句

python的代码块通过缩进来指示,if条件判断以:结束,并在下一行通过缩进表示一个代码块的开始,如果不遵守缩进格式则会报错。其格式如下:

Python程序控制语句用法实例分析

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程序设计有所帮助。

Python 相关文章推荐
python获取各操作系统硬件信息的方法
Jun 03 Python
python实现发送和获取手机短信验证码
Jan 15 Python
python生成验证码图片代码分享
Jan 28 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
基于Python实现扑克牌面试题
Dec 11 Python
Pyinstaller加密打包应用的示例代码
Jun 11 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
Selenium及python实现滚动操作多种方法
Jul 21 Python
python Zmail模块简介与使用示例
Dec 19 Python
python工具dtreeviz决策树可视化和模型可解释性
Mar 03 Python
dpn网络的pytorch实现方式
Jan 14 #Python
Django之form组件自动校验数据实现
Jan 14 #Python
简单了解python filter、map、reduce的区别
Jan 14 #Python
Python vtk读取并显示dicom文件示例
Jan 13 #Python
Python解析多帧dicom数据详解
Jan 13 #Python
python 将dicom图片转换成jpg图片的实例
Jan 13 #Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 #Python
You might like
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
分享Python字符串关键点
2015/12/13 Python
PyQt5实现拖放功能
2018/04/25 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
Python PyQt5整理介绍
2020/04/01 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
简历中自我评价分享
2013/10/09 职场文书
大三学生入党思想汇报
2014/01/02 职场文书
旷课检讨书大全
2014/01/21 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
会计个人实习计划书
2014/08/15 职场文书
让世界充满爱观后感
2015/06/10 职场文书
会议承办单位欢迎词
2019/07/09 职场文书