函数调用

c++学习笔记一

我们两清 提交于 2020-03-22 14:54:28
定一个头文件person.h包含类的声明:每行后面的注释是学习过程中的体会与思考 #include<iostream> #ifndef PERSON_H_ #define PERSON_H_ class Person { private: int ID;//只有静态的常量数据成员才可以在类中初始化,与C#不一样 std::string Name; int Age; double Money; char * Address;//定义一个字符串指针成员 static int PersonNum;//定义一个静态变量记录对象的个数,静态变量要在源文件中初始化,如果没初始化会有错误,为什么? public: Person();//默认的构造函数 Person(int id,std::string name,int age,double m,const char* s);//带有参数的构造函数 Person(const Person & s);//定义复制构造函数 Person & operator=(const Person &p);//重载=操作符,实现深度复制 virtual ~Person();//析构函数 virtual void playway();//定义一个虚函数,通过虚函数实现多态 void GetName(); void SetPerson(int id, std:

shell脚本编程高级篇

徘徊边缘 提交于 2020-03-21 12:40:58
SHELL脚本编程进阶 循环执行:简单来说就是把一些指令重复循环。 循环代码具体的指令有三种: for , while , until其中for, while用的最多。 for循环 for 变量名 in 列表;do 循环体 done 关键字的帮助都是用help来查询。 for循环语法:在shell编程中 for,in,do,done。这些都是他的关键字,其中循环的指零就放在do和done之间。 WORDS决定了循环次数。 循环的次数由in 后面跟的WORDS(字符串)的数量决定。字符串的个数决定了do和done之间的指令执行的次数。 $ :for认为是一个整体 br/>$@:for认为是独立的参数 for循环逻辑:↓↓ :这条命令意思是,将i变量为1 22 33 等于说i同时等于这3个变量然后用到$i把变量显示出来第一次i就是1第二次i就是22第三次i就是333这就是for循环的逻辑。 :还可以使用花括号或字母一次性显示完。 for脚本编辑语法:,脚本意思是i变量为arg而$@是独立的一个整体执行为脚本后面跟123代表arg is 独立的123。 :这是重复创建10次用户的意思i变量为{1..10}这个范围 :这是让FILE变量为userlist.txt这个文件然后执行这个文件里有多少用户,在来循环多少次。 :不用创建脚本也可以在外执行for结尾必须使用;隔开done

python 装饰器

荒凉一梦 提交于 2020-03-21 09:05:19
python 装饰器 1、必备 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #### 第一波 #### def foo(): print 'foo' foo #表示是函数 foo() #表示执行foo函数 #### 第二波 #### def foo(): print 'foo' foo = lambda x: x + 1 foo() # 执行下面的lambda表达式,而不再是原来的foo函数,因为函数 foo 被重新定义了 2、需求来了 初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作、redis调用、监控API等功能。业务部门使用基础功能时,只需调用基础平台提供的功能即可。如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ############### 基础平台提供的功能如下 ############### def f1(): print 'f1' def f2(): print 'f2' def f3(): print 'f3' def f4(): print 'f4' ############### 业务部门A 调用基础平台提供的功能 ############### f1() f2() f3() f4() ######

C/C++ 与 Python 的通信

爱⌒轻易说出口 提交于 2020-03-21 07:17:41
作者:Jerry Jho 链接:https://www.zhihu.com/question/23003213/answer/56121859 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 C/C++ 调用 Python (基础篇)— 仅讨论Python官方提供的实现方式 Python 调用 C/C++ (基础篇)— 仅讨论Python官方提供的实现方式 C/C++ 调用 Python (高级篇)— 使用 Cython Python 调用 C/C++ (高级篇)— 使用 SWIG 1 C/C++ 调用 Python(基础篇) Python 本身就是一个C库。你所看到的可执行体python只不过是个stub。真正的python实体在动态链接库里实现,在Windows平台上,这个文件位于 %SystemRoot%\System32\python27.dll。 你也可以在自己的程序中调用Python,看起来非常容易: //my_python.c #include <Python.h> int main(int argc, char *argv[]) { Py_SetProgramName(argv[0]); Py_Initialize(); PyRun_SimpleString("print 'Hello Python!'\n"); Py

C++的多态性

南楼画角 提交于 2020-03-21 06:53:17
1.静态多态 (1)函数重载 (2)操作符重载 2.动态多态 继承,虚函数 实现机制: 以下摘自于 http://blog.csdn.net/zyq0335/article/details/7657465 1 什么是多态? 多态性可以简单的概括为“1个接口,多种方法”,在程序运行的过程中才决定调用的机制 程序实现上是这样,通过父类指针调用子类的函数,可以让父类指针有多种形态。 2 实现机制 举一个例子: #include <iostream.h> class animal { public: void sleep() { cout<<"animal sleep"<<endl; } void breathe() { cout<<"animal breathe"<<endl; } }; class fish:public animal { public: void breathe() { cout<<"fish bubble"<<endl; } }; void main() { fish fh; animal *pAn=&fh; pAn->breathe(); } 答案是输出:animal breathe 结果分析: 1从编译的角度 C++编译器在编译的时候,要确定每个对象调用的函数的地址,这称为早期绑定(early binding),当我们将fish类的对象fh的地址赋给pAn时,C

python的自定义函数(函数类型、def、range、rerun)

≡放荡痞女 提交于 2020-03-21 06:44:38
一、PyCharm基本设置 1、用Ctrl+鼠标滚轮--放大或缩小字体 搜索zoom 2、在Windows资源管理器打开文件或目录 搜索keymap 设置成不常用的键即可,如F3。 3、代码提示 搜索letter 二、自定义函数 1.为什么要使用函数 函数中的代码一次编写,多处运行; 函数可以让代码复用,减少代码冗余。 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 假设我有这样的需求: 但是我还是觉得太麻烦了,每次想吃饭的时候都要重复这样的步骤。此时,我希望有这样的机器:    将重复的工作封装到一起,我们只要向机器里放入东西,就能得到我们想要的。 这也就是所谓的代码重用。 例子 # 定义方法 def print_nums(): """此处是函数功能的描述""" for i in range(1,11): print(i,end=" ") # 1.三角形 2.正方形 3.梯形 key = int(input('请输入要打印的图形:')) if key == 1: # 打印三角形的代码 print_nums() pass elif key == 2: # 打印梯形的代码 pass elif key == 3:

函数与数组

∥☆過路亽.° 提交于 2020-03-21 05:49:59
一:函数 1.什么是函数呢 ? 就是在不断进行加法运算时,为了提高代码的复用性,就把该功能封装为一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这段小程序,那么这种封装形式的具体表现则称之为函数 例如 public class dame{     public static void main(String[] args){     int a = 4+5;        System.out.println("a="+a);       int b = 3+9;        System.out.println("b="+b);       add(4,5);      }     public static int add(int a, int b){        return a+b;     } } 2.函数的格式 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2 , ......){ 执行语句; return 返回值; } 参数类型: 运行这段程序得出的一个运算结果,结果类型,如果函数没有返回值则用 void 来表示该函数没有返回值 函数名:仅仅是一个标识符,可以随意起名字 。 形式参数: 是一个变量,用于存储函数传递进来的实际参数 实际测试:传递给形式参数的具体数值 返回值:返回给调用者的 a:定义函数 1.是否有未知内容参与运算

Python之绑定方法与非绑定方法

烂漫一生 提交于 2020-03-21 05:48:47
类中定义的函数分成两大类 1、绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入) 1. 绑定到类的方法:用classmethod装饰器装饰的方法。 为类量身定制 类.boud_method(),自动将类当作第一个参数传入 (其实对象也可调用,但仍将类当作第一个参数传入) 2. 绑定到对象的方法:在类内部没有被任何装饰器装饰的方法。 为对象量身定制 对象.boud_method(),自动将对象当作第一个参数传入 (属于类的函数,类可以调用,但是必须按照函数的规则来,没有自动传值那么一说) 绑定给对象的方法(略) 绑定给类的方法(classmethod)   classmehtod是给类用的,即绑定到类,类在使用时会将类本身当做参数传给类方法的第一个参数(即便是对象来调用也会将类当作第一个参数传入),python为我们内置了函数classmethod来把类中的函数定义成类方法 class Foo(): def bar(self): print('bar') @classmethod # 把一个方法绑定给类:类.绑定到类的方法(),会把类本身当做第一个参数自动传递到类的方法里面 def test(cls,x): print(cls,x) # 拿到一个类的内存地址后,就可以实例化或者引用类的属性了 # # print(Foo.bar) # # print(Foo.test) f

Twisted 延迟调用

十年热恋 提交于 2020-03-21 05:42:36
延迟(defer)是twisted框架中实现异步的编程体系,使程序设计可以采用事件驱动的机制 1、基本使用 defer可以看作一个管理回调函数的对象,可以向该对象添加需要的回调函数同时也可以指定该组函数何时被调用 from twisted.internet import reactor,defer from twisted.python import failure import sys d = defer.Deferred() # 定义defer实例 #####################函数添加阶段 def printSquare(d): # 正常处理函数 print('square of %d id %d '% (d,d*d)) def processError(f): print('error when process') d.addCallback(printSquare) # 添加正常处理回调函数 d.addErrback(processError) # 添加错误处理回调函数 ################defer调用阶段 if sys.argv[1] =='call_error': f= failure.Failure(Exception('my exception')) d.errback(f) # 调用错误处理函数 else: d.callback(4)

存储例程

陌路散爱 提交于 2020-03-21 03:25:52
存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程。 存储函数 创建存储函数 存储函数其实就是一种函数,只不过在这个函数里可以执行命令语句而已。函数它可以把处理某个问题的过程封装起来,之后直接调用函数就可以去解决同样的问题了。MySQL 中定义存储函数的语句如下: CREATE FUNCTION 存储函数名称([参数列表]) RETURNS 返回值类型 BEGIN 函数体内容 END 从这里可以看出,定义一个存储函数需要指定函数名称、参数列表、返回值类型以及函数体内容,如果该函数不需要参数,那参数列表可以被省略,函数体内容可以包括一条或多条语句,每条语句都要以分号 ; 结尾。里边的制表符和换行仅仅是为了好看,完全可以用空格代替。 mysql> delimiter $ mysql> create function avg_score(s varchar(100)) -> returns double -> begin -> return (select avg(score) from student_score where subject = s); -> end $ Query OK, 0 rows affected (0.01 sec) 定义了一个名叫 avg_score 的函数,它接收一个