万能的函数(二)

1. 函数的返回值

  • 返回值就是函数执行以后返回的结果
  • 通过 return 来指定函数的返回值
  • return 后面可以跟任意对象,甚至可以是一个函数
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

2.文档字符串

  • help()是Python的内置函数,通过help()可以查询Python中函数的用法
    在这里插入图片描述

  • 在定义函数时,可以在函数内部编写文档字符串,文档字符串就是对函数的说明
    在这里插入图片描述
    在这里插入图片描述

3. 函数的作用域(scope)

  • 作用域指的是变量生效的区域
  • Python一共有两种作用域
    • 全局作用域

      • 全局作用域在程序执行时创建,程序结束时销毁
      • 所有函数以外的区域都是全局作用域
      • 在全局作用域中定义的变量,都是全局变量,全局变量可以在程序的任意位置进行访问
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
    • 函数作用域

      • 函数作用域在函数调用时创建,函数调用结束时销毁
      • 函数每调用一次就会产生一个新的函数作用域
      • 在函数作用域中调用的变量都是局部变量,只在 函数内部被访问
        在这里插入图片描述
        在这里插入图片描述

4.命名空间

  • 命名空间实际上就是一个字典,是一个专门用来储存变量的字典

  • locals()用来获取当前函数的命名空间

  • 如果在全局作用域中调用locals()则获取全局命名空间,如果在函数作用域中调用locals()则获取函数命名空间

  • 返回值是一个字典
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5.递归函数

  • 递归是解决问题的一种方式,整体思想是将一个个的大问题分解为一个个的小问题,直到问题无法分解时,才去解决问题

  • 递归函数的两个条件:

  • 基线条件:将问题分解为最小的问题,满足基线时,递归不再执行

  • 递归条件:将问题可以继续分解的条件

  • 例如:求任意数的任意次幂
    在这里插入图片描述
    在这里插入图片描述

在C++里,`<bits/stdc++.h>` 通常被叫做万能头文件,它几乎包含了所有标准库的头文件,下面介绍一些该万能头文件中常用函数: ### 数学运算函数 - `sqrt()`:用于计算一个数的平方根。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { double num = 16.0; double result = sqrt(num); cout << "The square root of " << num << " is " << result << endl; return 0; } ``` - `pow()`:用于计算一个数的指定次幂。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { double base = 2.0; double exponent = 3.0; double result = pow(base, exponent); cout << base << " raised to the power of " << exponent << " is " << result << endl; return 0; } ``` - `abs()`:用于计算一个数的绝对值。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { int num = -5; int result = abs(num); cout << "The absolute value of " << num << " is " << result << endl; return 0; } ``` ### 字符串处理函数 - `strlen()`:用于计算字符串的长度。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { char str[] = "Hello"; int length = strlen(str); cout << "The length of the string is " << length << endl; return 0; } ``` - `strcmp()`:用于比较两个字符串。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { char str1[] = "Hello"; char str2[] = "World"; int result = strcmp(str1, str2); if (result == 0) { cout << "The two strings are equal." << endl; } else if (result < 0) { cout << "str1 is less than str2." << endl; } else { cout << "str1 is greater than str2." << endl; } return 0; } ``` ### 容器相关函数 - `push_back()`:在向量(`vector`)末尾添加元素。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { vector<int> vec; vec.push_back(10); vec.push_back(20); for (int i = 0; i < vec.size(); i++) { cout << vec[i] << " "; } cout << endl; return 0; } ``` - `size()`:返回容器的元素数量。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; int size = vec.size(); cout << "The size of the vector is " << size << endl; return 0; } ``` ### 算法相关函数 - `sort()`:对容器内的元素进行排序。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { vector<int> vec = {5, 3, 1, 4, 2}; sort(vec.begin(), vec.end()); for (int i = 0; i < vec.size(); i++) { cout << vec[i] << " "; } cout << endl; return 0; } ``` - `find()`:在容器中查找元素。例如: ```cpp #include <bits/stdc++.h> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; auto it = find(vec.begin(), vec.end(), 3); if (it != vec.end()) { cout << "Element found at position " << (it - vec.begin()) << endl; } else { cout << "Element not found." << endl; } return 0; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值