侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

Python  /  管理员 发布于 7年前   198

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

1、换行

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

str='Hello'+\  ' World'print(str)    #不会报错,输出:Hello Worldlist1=[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=0count=0while i<100:  if i%3==0:    count+=1  i+=1print("100以内3的倍数有%d个"%count)

for可以循环遍历元素集合中的每个元素,例如:

count=0list1=[5,12,6,17,8,9,20]for i in list1:  if i>10:    count+=1print("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 - Bartd = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }sum = 0.0for k, v in d.items():          #通过items()访问键值  sum = sum + v  print k,':',vprint '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=2while 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.0print(average(1, 2, 2, 3, 4) )   #输出:2.4

5、全局变量

全局变量在函数之外声明

局部变量在函数内容声明或是函数参数

如果想要修改全局变量的值,必须在函数开始用global关键字进行声明,否则会被认为是函数内新的局部变量

var=5def fun():  global var    #函数内部声明使用全局变量var并对其进行修改  var=3fun()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 pltrdm=random.randint(1,100)        #在1到100之间产生随机数print(rdm)start=time()   #产生当前的时间函数print(start)x=np.linspace(1,10,100)         #在1到10之间产生100个等差数并返回列表xy=2*x+1plt.figure()   #绘制图片plt.scatter(x,y) #将列表数据x、y绘制到图片,结果为一条直线print("程序运行时间:%f"%(time()-start))  #通过time函数计算程序的运行时间

10、获取帮助

dir()可以打印某个类型的所有函数,help()可以打印某个类的帮助信息

dir(int)help(list)

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


  • 上一条:
    Python属性和内建属性实例解析
    下一条:
    简单了解python filter、map、reduce的区别
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客