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网络编程之TCP通信实例和socketserver框架使用例子
Apr 25 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
python入门:argparse浅析 nargs='+'作用
Jul 12 Python
python中常用的数据结构介绍
Jan 12 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
5行Python代码实现一键批量扣图
Jun 29 Python
python中filter,map,reduce的作用
Jun 10 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版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
Python中Collection的使用小技巧
2014/08/18 Python
5种Python单例模式的实现方式
2016/01/14 Python
python实现FTP服务器服务的方法
2017/04/11 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
CSS3 animation ? steps 函数详解
2019/08/30 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
大学生赌博检讨书
2014/09/22 职场文书
先进个人事迹材料
2014/12/29 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
Pyhton模块和包相关知识总结
2021/05/12 Python
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js