第三章 函数
自定义函数
C#的方法≈Python的函数
定义函数
以找最大数的实现为例,分别由C#和Python来写 首先是C#
public int find_max(int num1, int num2)
{
if (num1 > num2)
{
return num1;
}
else
{
return num2;
}
}
然后是Python
def find_max(a, b):
"""这是一个获取最大值的函数"""
if a > b:
return a
else:
return b
因此相较于C#,Python定义一个函数只需要以下几点:
- def关键词
- 方法名
- 圆括号里面放参数,都不需要定义类型
- 冒号,然后换行缩进
- 方法体
- 可有可无的return
此图来自菜鸟教程
函数传值与返回
在C#里面我们知道,参数分实参和形参,反正就是要一个带数据类型的关键词
在Python中,参数定义有下面这几种方式
- (arg1,arg2,...):直接放参数名接受的
- (arg1.arg2=value2,...) 给参数设置默认值的
- (arg1,arg2,*args) 直接懒得定义的,除了前面两个定义的参数外,其他的都存在args这个元祖里面
- (arg1,arg2,**kwargs) 直接懒得定义的之我不仅懒得定义但我还就要给默认值的,除了已定义的,其他的都存在kwargs字典里面
Python里面的返回值就比较随意了,想返回我就来个return,不想返回我就不写,诶我就是玩儿。
函数的调用
直接函数名然后括号里面放值就可以了呗,轻轻松松。
find_max(1, 2)
这样就完成了调用,我们还可以把这个函数当成一个值赋给变量。
max_value = find_max(1, 2)
甚至还可以直接输出这个函数,如有返回值就输出返回值,没有就输出?自己试。
print(find_max(1, 2))
Python传的是值还是地址
在C#里面,如果传的是地址,在方法里面改变变量,外面的也会变,那在Python里面呢? 在Python里面都不是,而是“传对象引用”
- 如果接受到的是可变对象,那就可以修改原始值:列表,字典
- 如果接受到的是不可变对象,那就不可以修改原始对象:字符串,元组,数字
Python字符串的那些骚操作
这里就没什么好说的了,直接这样查看字符串有哪些方法了。
Python列表的那些骚操作
同上,也没什么好说的了
集合的方法
常用函数
print()
输出
type()
数据类型
len()
长度
评论 (0)