def nop():
pass
函数名为nop,括号,括号里加参数,冒号。
pass的作用是函数暂时不写内容,但是冒号后面必须要有东西,所以先放一个pass,让代码能运行起来。
函数体内部可以用return随时返回函数结果;函数执行完毕也没有return语句时,自动 return None。
传入两个参数,返回两个值。返回的值的类型实际上是元组turple,但在语法上,返回tuple可以省略括号。
1. python中的 if name == ‘main’:
一个Python源码文件(.py),第一是可以作为脚本文件被直接运行,第二是作为模块(也就是库),被其他.py文件导入。
所以if__ name__== ‘__ main__’:的作用就是控制这两种情况执行代码的过程。
在if __ name__ ==’__ main__’:下面的代码只有在(文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的.
参考:https://blog.csdn.net/chen1415886044/article/details/104855539
2. 面向对象编程OOP
把对象作为程序的基本单元,一个对象包含了 数据/(变量)/(属性) 和 操作数据的函数。
(每个对象都可以接收其他对象发过来的消息(数据呗),并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。)
class是抽象的模板,Instance是根据class创建出来的一个个具体的’对象’,每个对象都拥有相同的方法,但各自的数据可能不同。
# class用于指定对象的形式/类型(类似于int),对象的类型为 Student。对象叫object。
# 即 类型为 Student的对象 包含数据 a、b和方法 print_score。
class Student(object):
# 通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑定上去,a、b是属性的名称。
def __init__(self, a, b):
self.name = a
self.score = b
def print_score(self):
print('%s: %s' % (self.name, self.score))
# xiaoming 是实例化(Instance)一个对象,所以要传入两个参数'小明'、87。
xiaoming = Student('小明', 87)
# 调用实例化的关联函数,就是调用方法(Method)。
xiaoming.print_score()
__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
- 继承和多重继承
代码片段重复很多的话,可以把重复的代码封装起来写在父类里面。然后在子类里继承父类。
class Animal(object):
def run(self):
print('Animal is running...')
class Dog(Animal):
pass
class Cat(Animal):
pass