school

4/7

孤人 提交于 2020-04-07 20:53:11
选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合 # # 1、学校数据与功能整合class school:​ def __init__(self, school_name, school_adress): self.name = school_name self.adrss = school_adress​ def info(self): print(f'校名{self.name},地址{self.adrss}')​​school.obj = school('oldboy', '上海青浦')school.info(school.obj)​​# # 2、课程数据与功能进行整合class course: def __init__(self, name, period, price): self.name = name self.period = period self.price = price​ def info(self): print(f'课程{self.name},课程周期{self.period},课程价格{self.price}')​​course_obj = course('课程A', '14天', '20块')course_obj.info()​​# # 3、学生数据与功能进行整合class classmates: def __init__

Python之旅.第五章.面向对象

99封情书 提交于 2020-03-09 03:14:29
/*--> */ /*--> */ 一、面向对象编程 1、面向过程编程 核心是 ”过程 “二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 优点:复杂的问题流程化、进而简单化 缺点:可扩展性差 2、面向对象 核心 ”对象 “二字,对象指的是特征与技能的结合体, 基于该思想编写程序就好比在创造一个世界,你就是这个世界的上帝,是一种 上帝式的思维方式 优点:可扩展性强 缺点:编程的复杂度高于面向过程 二、对象与类 1、对象是特征与技能的结合体,那类就是一系列对象相同的特征与技能的结合体 2、在现实世界中:一定先有对象,后来随着人类文明的发展总结出的类;对象是具体存在的,而类只是一种抽象概念 3、在程序中 ,务必保证:先定义类,后调用类来产生对象 #根据现实世界中的对象归纳现实世界的类,然后在程序中定义类,之后调用这个定义的类才产生程序中的对象 现实生活中的对象: 对象 1 : 特征: school="Oldboy" name=" 马冬梅 " age=18 sex="female" 技能: 学习 选课 对象 2 : 特征: school="Oldboy" name=" 甜蜜蜜 " age=21 sex="male" 技能: 学习 选课 对象 3 : 特征: school="Oldboy" name=" 原石开 " age

python面对对象

冷暖自知 提交于 2020-02-25 20:19:19
类的空间问题 何处可以添加对象属性 class A: def __init__(self,name): self.name = name def func(self,sex): self.sex = sex # 类外面可以: obj = A('barry') obj.age = 18 print(obj.__dict__) # {'name': 'barry', 'age': 18} # 类内部也可以: obj = A('barry') # __init__方法可以。 obj.func('男') # func 方法也可以。 总结:对象的属性不仅可以在__init__里面添加,还可以在类的其他方法或者类的外面添加 何处可以添加类的静态属性 class A: def __init__(self,name): self.name = name def func(self,sex): self.sex = sex def func1(self):     print(self) A.bbb = 'ccc' # 类的外部可以添加 A.aaa = 'taibai'                            这个还是有疑问????没看懂 print(A.__dict__) # 类的内部也可以添加。 A.func1(111) print(A.__dict__) 总结

Java 继承学习

≯℡__Kan透↙ 提交于 2020-02-21 07:10:23
Java 继承 继承实现: 在Java中,如果实现继承的,需要使用Java关键字——extends : 被继承的类叫做超类,继承超类的类叫子类。(一个子类亦可以是另一个类的超类) class 子类 extends 父类 { …… } 子类也可以被成为“派生类”,父类也被称为基类(超类) 子类继承父类后,子类中可以随便的调用父类定义的属性、方法等。 class Person { private String name ; private int age ; private String school ; public void setName (String name) { this.name = name ; } public setAge(int age) { this.age = age ; } public String getName() { return this.name ; } public int getAge() { return this.age ; } } public Student extends Person { // Student继承了父类Person /* Student 可以使用 Person 中定义的属性和方法 */ } 同时,子类中也可以定义新的属性和方法 class Person { private String name ;

JavaScript的方法

旧城冷巷雨未停 提交于 2020-02-20 15:09:28
JavaScript的方法 方法就是把函数写在对象的里面。 对象中只有两个东西:属性和方法。 1. 方法的写法和调用 1.1. 方法的第一种写法(直接把函数写在对象中) 完整代码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>JavaScript学习</title> <script> 'use strict'; var school = { name: "DongDa", num: 20, age: function () { return this.num; } } console.log(school.name); console.log(school.age()); </script></head><body></body></html> 1.2. 方法的第二种写法(函数写在对象外面,对象中调用函数),此时,需要使用apply(),来指向对象。 1.1中采用this指针来指向当前对象。而1.2中,函数和对象分开写,需要采用apply将函数指向特定的对象。 完整代码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>JavaScript学习</title> <script> 'use

proto school tutorial: blog: lesson 1

让人想犯罪 __ 提交于 2020-02-14 11:35:18
https://proto.school/#/blog/01 我们现在希望:把一个post 和他的作者联系起来。 从之前的教程 here 中,你可以知道, 一个cid 就是代表一个link 比如: { linkToAwesomeNode: awesomeCid //字段: cid } 总结就是: 当我们给一个字段赋值一个cid的时候,这个字段其实按照惯例,称为: named link 如下所示:(我们新加了 tt1 and tt2 , they are so called named link ) /* globals ipfs */ const run = async () => { const natCid = await ipfs.dag.put({ author: "Nat" }) const samCid = await ipfs.dag.put({ author: "Sam" }) const treePostCid = await ipfs.dag.put({ content: "trees", author: samCid//tt1 }) const computerPostCid = await ipfs.dag.put({ content: "computers", author: natCid//tt2 }) return [treePostCid,

JavaScript基础3(方法、this关键字、内部对象(标准对象、Date、JSON)、面向对象编程)

大兔子大兔子 提交于 2020-02-08 23:04:54
JavaScript语言基础 方法 方法就是把函数放在对象的里面 var aaa = { name : '小明' , bitrh : 2000 , // 方法 age : function ( ) { // 今年 - 出生的年 var now = new Date ( ) . getFullYear ( ) ; // Date对象 获取当前的年份 return now - this . bitrh ; } } //属性: aaa . name // 小明 //调用方法,一定要带 () aaa . age ( ) // 20 这里的 this 指向的是aaa这个对象 2. this关键字 在面向对象语言中 this 表示当前对象的一个引用;但在 JS 中 this 不是固定不变的,它会随着执行环境的改变而改变:在方法中,this 表示该方法所属的对象。 //我们将上面代码拆开 function getAge ( ) { // 今年 - 出生的年 var now = new Date ( ) . getFullYear ( ) ; return now - this . bitrh ; } var aaa = { name : '小明' , bitrh : 2000 , age : getAge } // 调用 aaa.age() 结果:可以正常执行,结果为20 // 直接调用

Mongoose多表查询

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-29 16:14:05
文章来自 两个表关联查询aggregate 多个表关联查询aggregate populate多表关联查询 多表查询的两个方式 一个是aggregate聚合 一个是populate Schema的外表连接应该有个ref字段表示去那个表查 populate var Schema = monogoose.Schema; var studentSchema = new Schema({ name : String, age : String, school: { type: Schema.Types.ObjectId, ref : 'school' } }); var schoolSchema = new Schema({ name : String, students: [ { type: Schema.Types.ObjectId, ref : 'students' } ], city : { type: Schema.Types.ObjectId, ref : 'city' } }); var citySchema = new Schema({ name : String, school: [ { type: Schema.Types.ObjectId, ref : 'school' } ] }); var Student = mongoose.model('student',

集腋成裘-15-MongoDB系列-02Find详细

落爺英雄遲暮 提交于 2019-12-20 07:19:27
首先推荐一个Studio 3T 的操作工具 1:支持批量插入 var persons = [{ name:"jim", age:25, email:"75431457@qq.com", c:89,m:96,e:87, country:"USA", books:["JS","C++","EXTJS","MONGODB"] }, { name:"tom", age:25, email:"214557457@qq.com", c:75,m:66,e:97, country:"USA", books:["PHP","JAVA","EXTJS","C++"] }, { name:"lili", age:26, email:"344521457@qq.com", c:75,m:63,e:97, country:"USA", books:["JS","JAVA","C#","MONGODB"] }, { name:"zhangsan", age:27, email:"2145567457@qq.com", c:89,m:86,e:67, country:"China", books:["JS","JAVA","EXTJS","MONGODB"] }, { name:"lisi", age:26, email:"274521457@qq.com", c:53,m:96,e:83, country:

类和对象

一个人想着一个人 提交于 2019-12-17 14:27:15
class 类名: ​ 特征 ​ 技能 定义类名的规范:驼峰命名法 #定义老男孩学生类 class OldboyStudent: #类名指向的是类的内存地址 #学生相同的特征,也称为属性 school = 'oldboy' #学生相同的技能 #注意:在类内部定义函数,会默认有一个参数self def learn(self): #self此时当作一个形参 print('learning...') print(OldboyStudent) ## <class '__main__.OldboyStudent'> #查看类的名称空间 print(OldboyStudent.__dict__) print(OldboyStudent.__dict__['school']) print(OldboyStudent.__dict__['learn']) OldboyStudent.__dict__['learn'](123) #类提供一种获取名字的特殊方式“类名.名字” #查 print(OldboyStudent.school) #--->oldboy OldboyStudent.learn('形参') #--->learning... #改 OldStudent.school = 'oldgirl' print(OldStudent.shool) #--->oldgirl #删 del