Python语句+函数+模块+包+异常

来源:互联网 发布:stata软件和spss 编辑:程序博客网 时间:2024/06/05 18:39

1、条件语句

if条件

通过一条或多条语句的执行结果(True或者False)来决定执行的代码块,任何非0和非空(null)值为true,0 或者 null为false
语法:

if 判断条件:    执行语句elif 判断条件:    执行语句else:    执行语句

例:

# coding:utf-8from datetime import datetimemyweekday = datetime.today().weekday()if myweekday == 5:    print("终于周六了")elif myweekday >= 0 and myweekday < 5:    print("上班")else:    print("周末")

2、循环语句

while循环

在给定的判断条件非0或非空(null)为 true 时执行循环体,false时退出循环体
语法:

while 判断条件:    执行语句

例:

count = 0while count < 10:    count += 1    if count % 2 > 0:        continue #跳过该次循环,执行下一次循环    print(count)

for循环

遍历任何序列的项目(一个列表或一个字符串)
语法:

for 遍历名 in 序列:   执行语句

例:

list = ['hello','world']for item in list:    if item == 'world':        break #跳出整个循环    print(item)

嵌套循环

一个循环体里面嵌入另一个循环

3、函数

定义函数规则:

  • 函数代码块以def关键字开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放入圆括号内
  • 函数内容以冒号起始,且缩进
  • return结束函数,选择性返回一个值,不带返回值则默认返回None

语法:

def 函数标识符名称(参数):    执行语句    return [返回值]

例:打印字符串及函数调用

def printstr(str):    print(str)    returnprintstr(str = 'hello')

定义匿名函数:

  • lambda表达式,仅在lambda表达式中封装有限的逻辑
  • lambda拥有自己的命名空间,不能访问自有参数列表之外的或全局命名空间的参数

例:求和

sum = lambda a,b:a+bprint(sum(10,20))

dir()函数:返回模块里定义的所有模块、变量、函数列表

import mathprint(dir(math))

4、模块

模块是一个python文件,以.py结尾的,包含 Python 对象定义和Python语句

import:模块引入

import 模块名

调用模块中的函数

模块名.函数名

例:

import mathprint(math.acos(1))

from 模块 import 函数:引入模块中的函数

from math import sqrtprint(sqrt(9))

from 模块 import *:引入模块中所有函数

from math import *print(max(1,2))

5、包

包是分层次的文件目录,该文件下必须存在这里写图片描述文件来标识文件夹是一个包
这里写图片描述
调用包

from pythonpackage.package import printstrprintstr(str = "hello")

6、异常

try…except…else

语法:

try:    正常执行语句except 异常名:    异常执行语句else:    无异常执行语句

例:

try:    fo = open('test.txt','w')    fo.write('hello')except IOError:    print('写入数据失败')else:    fo.close()#或try:    with open('test.txt','w') as fo:        fo.write('hello')except IOError:    print('写入数据失败')

try…finally

语法

try:    正常执行语句finally:    退出try时执行语句

例:

try:    fo = open('test.txt','w')    fo.write('hello')finally:    fo.close()