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使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
Python开发的实用计算器完整实例
May 10 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
python中退出多层循环的方法
Nov 27 Python
神经网络相关之基础概念的讲解
Dec 29 Python
python实现二级登陆菜单及安装过程
Jun 21 Python
浅谈python多进程共享变量Value的使用tips
Jul 16 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
Python基于traceback模块获取异常信息
Jul 23 Python
python中str内置函数用法总结
Dec 27 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 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中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
设定php简写功能的方法
2019/11/28 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
浅谈js函数三种定义方式 &amp; 四种调用方式 &amp; 调用顺序
2017/02/19 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Python中字符串的处理技巧分享
2016/09/17 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
设计师个人求职信范文
2014/02/02 职场文书
产品质量承诺范本
2014/03/31 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript
nginx lua 操作 mysql
2022/05/15 Servers