基于AI的流行,所有主流的AI框架只认Python,那么学习Python这个语言就势在必行了,TensorFlow(谷歌)、Pytorch(Meta)、Hugging Face(大模型)、Scikit-learn(传统机器学习)python都是第一语言没有之一条件判断的完整形式如下,记住这个即可,if语句执行的规则是从上往下,如果判断某个是true,就执行对应语句,后续会忽略elif和elseif <条件判断1>: <执行1>elif <条件判断2>: <执行2>elif <条件判断3>: <执行3>else: <执行4>
如果条件太多的话 一直用if elif elif else 就显得可读性很差了,那么模式匹配就显得尤为重要了 match case 类似net中的swtich casepython中循环就两种,一个是for in 循环 一个是while循环这里要特别注意break,continue,在循环中break可以提前退出循环,continue可以跳过这次循环,直接开始下一次循环函数是最基本的一种代码抽象方式,定义函数要用def语句,一次写出函数名、括号、括号中的参数和冒号:然后在缩进体中编写函数体,函数的返回值用return语句,具体如下def my_abs_func(x): if x >= 0: return x else: return -x
调用函数的话,直接根据函数定义、传入正确参数即可,如果函数出错,一定要根据错误信息排查出问题如果想定义一个什么也不做的空函数,直接用pass 语句,这个pass一句有什么用呢?其实他是作为占位符,比如现在还没想好怎么写函数的代码,就可以放一个pass,让代码运行起来,等后续想添加相关逻辑直接补充上即可如果返回多个函数值怎么写呢?可以类似如下,返回值是个tuple元组,在语法上可以省略括号,所以python的函数返回多值其实就是返回一个tuple定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了,函数的定义很简单,但是灵活度却非常大,除了正常定义的必选参数外,还可以使用默认参数,可变参数,关键字参数位置参数类似如下,x就是位置参数,我们调用power的时候,必须传入参数x,n,对应的值按照位置顺序一次赋给参数x,ndef power(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s
默认参数可以理解为即使我们不传递,也会有默认值,比如power 我想默认算的算就是x的平方,不想传递n,那如何解决的呢?那其实可以这样定义power,这样当我们调用power(10)其实相当于调用power(10,2)def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s
默认参数需要注意的点是:必选参数在前,默认参数在后,顺序不能错,因为必选参数是可变的,变换很大,而默认参数可以理解为变化很小,不经常更改的在python中我们还可以定义可变参数,顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个甚至10个 也可以是0个,定义如下加上星号*def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
可变参数可以允许你传入0个或者任意个参数,这些可变参数在函数调用时自动组装为一个tuple,而关键字参数允许你传入0个或者任意个含参数名的参数,这些关键字参数在函数内部自动组装成一个字典dictdef person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw)
那我们也可以传入任意关键字 关键字可以扩展函数的功能,它和可变参数类似,也可以先组装一个字典dict,然后作为关键字参数传进去如果我们想限制关键字参数的名字,可以用命名关键字参数,比如只接收city和job作为关键字参数,方式如下我们上面说了必选参数、默认参数、可变参数、关键字参数和命名关键字参数,其实我们平时写python主要是定义参数 将这些参数组合起来,今天先讲到这里 感兴趣的小伙伴抓紧试试吧 多练