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

 通过**args传入的可变参数本质上是字典类型,在定义函数的时候以键值对的方式接收不确定的参数

def fun(**args):
    for key, value in args.items():
        print('属性', key, ':值', value)

fun(key1='value1', key2='value2')

'''
输出:
属性 key1 :值 value1
属性 key2 :值 value2
'''

反过来,当一个函数需要多个参数时,也可以用**args的方式将字典作为参数传递给需要多个参数的函数,

def fun2(key, value):
    print("属性:", key, "值:", value)


args = {'key': 'my_key', 'value': 'my_value'}    # 定义一个字典
fun2(**args)                                     # 将字典作为参数传递给函数

'''
输出:
属性: my_key 值: my_value
'''

匿名函数:有时为了简便,python中用lambda来定义一个匿名函数,其格式为lambda 参数列表 : 执行操作,之所以称为匿名函数是因为该函数一般并不显示定义出来,多用于需要传入简单函数作为参数的情况。例如python的map(function, iterable, ...)第一个参数需要传入一个函数,这是可以采用lambda的形式,而不必再显示定义函数

sum = lambda arg1, arg2: arg1 + arg2    # 定义匿名函数sum
print "相加后的值为 : ", sum( 10, 20 )    # 调用sum函数

mt = map(lambda x: x ** 2, [1, 2, 3, 4, 5])    # 遍历数组,将每个元素平方
print(list(mt))
# [1, 4, 9, 16, 25]

 

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)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python程序控制主要包括条件语句、循环语句、函数、类、文件、异常处理等相关操作。下面是一些常见的Python程序控制语句: 1.条件语句 ```python if condition1: statement1 elif condition2: statement2 else: statement3 ``` 其中,condition1、condition2等为条件表达式,statement1、statement2等为执行语句。 2.循环语句 ```python while condition: statement ``` 其中,condition为循环条件,statement为执行语句。 ```python for variable in sequence: statement ``` 其中,variable为循环变量,sequence为循环序列,statement为执行语句。 3.函数 ```python def function_name(parameters): statement return [expression] ``` 其中,function_name为函数名,parameters为参数列表,statement为函数体,expression为返回值。 4.类 ```python class ClassName: statement ``` 其中,ClassName为类名,statement为类的方法和属性。 5.文件 ```python file = open(filename, mode) file.write(string) file.close() ``` 其中,filename为文件名,mode为打开文件的模式,string为写入文件的字符串。 6.异常处理 ```python try: statement except Exception1: statement1 except Exception2: statement2 else: statement3 finally: statement4 ``` 其中,statement为可能会出现异常的语句,Exception1、Exception2等为异常类型,statement1、statement2等为异常处理语句,statement3为没有异常时执行的语句,statement4为无论是否有异常都会执行的语句。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值