diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/2\347\217\255/2\347\217\255_Super_Coding/week2/\347\254\254\344\272\214\345\221\250-\347\254\254\344\270\200\350\212\202-\344\275\234\344\270\232.py" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/2\347\217\255/2\347\217\255_Super_Coding/week2/\347\254\254\344\272\214\345\221\250-\347\254\254\344\270\200\350\212\202-\344\275\234\344\270\232.py" new file mode 100644 index 0000000000000000000000000000000000000000..be8a0f2488d2a746b03bbe3e80c8f5724634cc95 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/2\347\217\255/2\347\217\255_Super_Coding/week2/\347\254\254\344\272\214\345\221\250-\347\254\254\344\270\200\350\212\202-\344\275\234\344\270\232.py" @@ -0,0 +1,64 @@ +def add(a: int, b: int)-> int: + """ + 加法运算 + """ + return a + b + +def subtract(a:int, b:int)->int: + """ + 减法运算 + """ + return a - b + +def ride(a:int, b:int)-> int: + """ + 乘法运算 + """ + return a * b + +def divide(a:int, b:int)-> int: + """ + 除法运算 + """ + return a / b + +def double_div(a:int, b:int)-> int: + """ + 整除运算 + """ + return a // b + +def surplus(a:int, b:int)-> float: + """ + 取余运算 + """ + return a % b + +def excract(a:int, b:int)-> None: + """ + 开方运算 + """ + return a**b + + +if __name__ == "__main__": + result1 = add(1, 2) + print(result1) + + result2 = subtract(5, 2) + print(result2) + + result3 = ride(3, 2) + print(result3) + + result4 = divide(5, 2) + print(result4) + + result5 = double_div(5, 2) + print(result5) + + result6 = surplus(10, 5) + print(result6) + + result7 = add(2, 3) + print(result7) \ No newline at end of file diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/2\347\217\255/2\347\217\255_Super_Coding/week2/\347\254\254\344\272\214\345\221\250-\347\254\254\344\270\200\350\212\202-\351\232\217\345\240\202\347\254\224\350\256\260.md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/2\347\217\255/2\347\217\255_Super_Coding/week2/\347\254\254\344\272\214\345\221\250-\347\254\254\344\270\200\350\212\202-\351\232\217\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..3dc022a34751b14fd75b69115957a4ffc52c6059 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/2\347\217\255/2\347\217\255_Super_Coding/week2/\347\254\254\344\272\214\345\221\250-\347\254\254\344\270\200\350\212\202-\351\232\217\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,152 @@ +# 第二周-第一节 +## Python函数的基本介绍 +* 什么是函数? + + 函数就是一段定义的流程:输入数据,得到结果。在现实生活中,函数可以体现在方方面面。对厨师来讲,每一个菜谱都是函数;对农民来讲,每一种种菜的方法都是函数;对建筑工人来讲,每一个结构的修建都是函数;对司机来讲,在不同路线上的驾驶方式也是函数。 + + * 简单地说就是一个可以重复调用的代码片段。 + * 可以互相调用的代码片段 +* 函数的作用 + * 复用代码段 + +* **Python**中定义函数: + ```python + def foo(arg): + return "Hello" + str(arg) + ``` +* 函数组成 + * 参数 + * 必须参数 + + 参数必须**按顺序**传入 + * 关键字参数 + + 根据关键字参数传参可以不按顺序 + ```python + def foo(arg=None, args=None): + return "Hello" + str(arg) + ``` + * 默认参数 + ```python + def foo(arg='Super',args='Coding'): + return "Hello" + str(arg) + ``` + * 不定长参数 + > 在装饰器中会大量使用 + + 可以接受任意长度的参数 + + * **'*'** + 代表省略,打印参数为 **tuple** 元祖类型 + ```python + def foo(*args, **kwargs): + print(args) + print(kwargs) + return None + foo('Super', 'Coding', class_1='字典', class_2='字典2') + ('Super', 'Coding') + {'class_1': '字典', 'class_2': '字典2'} + ``` + * '**' + 两星号代表 dict字典类型参数 + ```python + def foo(*args, **kwargs): + print(args) + print(kwargs) + return None + foo('Super', 'Coding', class_1='字典', class_2='字典2') + ('Super', 'Coding') + {'class_1': '字典', 'class_2': '字典2'} + ``` + +* 返回值 + + 返回结果,默认返回 **None** + ```python + return None + ``` + 一个函数可以没有return 语句,可以有一个return 语句,也可以有多个return 语句 + + 一旦程序运行到return那么函数就会结束,return后面的代码永远不会被执行。 + +# Python运算符 +* 算术运算 + * `+` + * `-` + * `*`(乘法) + * `/`(除法) + * `//`(整除) + * `%`(取余) + * `**`(x的y次幂) + * `abs()`取绝对值 +* 赋值运算 + + 通过 = (等号) 赋值 + ```python + a = 1 + ``` +* 比较运算 + * `<` 小于 + * `>` 大于 + * `<=` 小于等于 + * `>=` 大于等于 + * `==` 等于 + * `!=` 不等于 + +* 标识号比较运算 + #### 比较两个变量的内存地址 + * `is` + * `is not` + * 赋值类型为 `str`,`int` 的时候需要考虑`python`的常量池 + ```python + a = 'a' + b = 'b' + a is b + >>> False + a = '你' + b = '好' + a is b + >>> True + ``` +* 成员检测运算 + + 判断元素是否在当前的序列中 + * `in` + ```python + a = [1,2,3] + 1 in a + >>> True + b = [1,2] + b in a + >>> False + ``` + * `not in` + +* 布尔运算 + + 判断当前语句的结果是`True`还是`False` + * `and` + + 只有两边都是`True`才返回`True` + + * `or` + + 两边表达式有一个是`True`返回的结果为`True` + * 短路 + ```python + 表达式A or 表达式B + 当表达式A为True时,表达式B就不会执行 + ``` + * `not` + + 逻辑取反 + +* 位运算 + + * `~` + * `^` + * `>>` + * `&` + * `|` + +