函数
python中比较特殊的是函数可以同时返回多个值
def divid(a,b):
shang=a/b
yushu=a%b
return shang,yushu
sh,yu=divid(5,2) #需要使用多个值来保存返回值
print("商:%,余数:%d"%(sh.yu))
简单说说python和c语言的区别:
-
变量类型声明:在 C 语言中,变量必须先声明类型,然后才能赋值;而在 Python3 中,变量类型可以自动推断,不需要预先声明类型。
-
缩进:在 Python3 中,使用缩进来表示代码块的开始和结束,而在 C 语言中则使用花括号来表示代码块的开始和结束。
-
大小写敏感:Python3 是大小写敏感的,而 C 语言不是。
-
命名规则:在 Python3 中,变量和函数名一般使用小写字母和下划线,而在 C 语言中则使用大写字母和下划线。
-
操作符:Python3 和 C 语言在操作符的使用上也有些不同,比如 Python3 中用“**”表示幂运算,而 C 语言中用“^”表示异或运算。
-
数组:在 C 语言中,数组是一组同类型的元素的集合,而在 Python3 中,列表(List)是类似于数组的结构,但可以包含不同类型的元素,并且可以动态增加或减少元素。
-
循环结构:在 Python3 中,可以使用 for-in 循环来遍历一个集合,而在 C 语言中,则需要使用 for 或 while 循环。
-
变量类型:C语言是静态类型语言,需要在编译时定义变量类型。而Python是动态类型语言,变量的类型是在运行时自动确定的。
-
内存管理:在C语言中,程序员需要手动管理内存,包括动态分配和释放内存。而Python使用垃圾回收机制自动管理内存,程序员不需要显式地分配或释放内存。
-
函数:C语言中的函数通常是独立的,需要传递指针来实现函数间的数据共享。而Python中的函数可以直接使用全局变量,并且还支持闭包和装饰器等高级特性。
-
异常处理:Python提供了更为方便的异常处理机制,可以使用try-except语句来处理异常。而在C语言中,程序员通常需要手动检查错误并采取相应的行动。
异常处理
try:
f=open("123.txt","r") #打开一个不存在的文本读入
except OSError: (旧版IOError)
except (NameError,IOError) #捕获多种类型的异常
except OSError as result: #捕获并保存
print(result)
IOError
是一个用于表示输入/输出操作失败或遇到错误的异常类型,比如尝试打开不存在的文件、读写文件时发生错误等。
NameError
是一个用于表示名称(变量、函数、模块等)未定义或不存在的异常类型,比如在使用未定义的变量、函数或模块名时会引发NameError
异常。
OSError
是一个更通用的异常类型,用于表示操作系统相关的错误,包括文件和目录操作、网络连接、进程管理等等,它是其他一些异常类型(比如IOError
、FileNotFoundError
等)的基类。
如果不确定,使用except OSError:
语句来捕获所有可能的操作系统错误,或者使用except Exception:
语句来捕获所有可能的异常类型。
一些相关except语句:
-
FileNotFoundError
:文件不存在错误 -
PermissionError
:权限错误 -
IsADirectoryError
:目录错误 -
ValueError
: 传入的参数值不合法 -
OSError
:操作系统错误 -
Exception
:所有其他异常
with语句
with open('file.txt', 'r') as f:
#with 语句时,可以确保文件在使用完毕后自动关闭,即使出现了异常。
f=open("file.txt","r") #都是打开文件 'file.txt'
finally
finally
是 Python 中的一个关键字,用于定义一个代码块,无论 try
语句块中是否发生异常,finally
语句块中的代码都会被执行。
要特别注意缩进!!!
import time
try:
f=open("123.txt","w") #打开一个不存在的文本读入
try:
while True:
content=f.readline()
if len(content)==0:
break
time.sleep(2)
print(content)
finally:
f.close()
except Exception as result:
print("发生异常")