变量名命名推荐使用小写字母 在Python中,用单引号或者双引号括起来的都是字符串==一系列字符 name = “ada” name = name.title() 其中,title()是方法,就是说name调用title()方法,实现让字符串首字母大写的功能,也就是title的意思,每个方法中的括号中都需要额外的信息来辅助完成这个方法的功能,因为title()这个方法不需要额外信息,于是括号内是空的,但是此时需要注意,name仍然还是小写,只是name.title()变成大写了,name= name.title()这样才会让name变成真正意义上的大写 打印输出” ‘ ”字符串是正确 打印输出‘ ‘ ‘字符串会报错(无法确定字符串的结束位置) age = 23 str(age) 就是将数字转化为字符串 3/2的结果是1,(小数部分被删除),3.0/2==3/2.0==3.0/2.0的结果才是1.5 创建和使用类 class Dog(): # dog是一个类,必须首字母大写(python才会识别出来是类),然后类中可以创建多个对象==实例化==这些对象表示了这个类的细节信息,创建对象==实例化当然需要使用到方法,这个方法就是__init_(),这个方法比较特殊==一种约定,方法中默认包含形参self,其他形参自己添加,因为Python创建dog类时,会默认也传进来seif形参,于是这个方法中的self就是使得每个对象==实例都能够访问类中所有的属性和方法,也就是一个实例可以访问另一个实例,实例==对象都有属性,Python通过句点表示法来访问实例的属性 使用类和实例 class Car(): def _init_(self,make,model,year): self.make = make self.model = model self.year = year self.odometer_reading = 0 # 上面这句话中,make,model,year都是类中方法中的属性也是形参,它们都通过默认的形参self使得类中其它对象==实例可以调用这个方法中的属性,但是odometer_reading这个属性没有形参入口,也就相当于C语言中的函数中的临时变量吧(我以为),然而呢?这里面比C语言不同的地方来了,虽然不能通过这个方法中的形参修改这个属性值,但是我们可以 aa = Car(‘audi’, ‘a4’, 2016) aa. odometer_reading = 23 # 这样可以直接修改这个属性值,这是第一种技巧 然后也可以给这个类中的属性在类中入口传入一个形参,然后创建类,再在类中通过init方法调用这个对象,这样也可以,这是第二种技巧 继承 类与类之间可以继承,比如上面Car是类==父类,我们写一个类==ElectricCar==子类,子类可以继承父类的所有实例=对象和实例中的所有属性,并且子类还可以重新建立自己的实例和属性,此时需要用到一个特殊函数==super(),这个函数再调用_init_()方法实现了子类继承父类(父类和子类必须在一个文件中,且子类位于父类下面) class ElectricCar(Car): def _init_(self, make, model, year): super.()._init_(make, model, year) # 这样就可以了 重写父类的方法 就比如上面而言,如果ElectricCar子类继承了Car父类,但是父类中的实例不符合子类的特点,比如汽车中有一个实例表示车使用汽油,而电动汽车明显使用纯电,怎么改写? def ElecticCar(Car): def qi_che_ran_liao(): print(“燃料是电池”) # 就是重新把这个实例写一遍就可以了,就不会执行父类中的qi_che_ran_liao()实例 将实例用作属性(顾名思义就是,把大类中的多个实例重新包装成不同个小类,这些小类充当大类中的实例,然后这个小类充当的实例里面的原来的实例就是现在的类比实例中的属性,有点复杂,我来慢慢解释) 为什么采取这种方法呢?不觉得麻烦吗?其实不然,假如一个大类中有几十个实例,几十个实例中又分别有很多属性,这些太多了,然后我们将类似的实例包装在一起统一为一个小类,就相当于大类中的几十个实例变成了几个小类 def _init_(self, battery_size=70): self.battery_size = battery_size # 这个函数形参意思,假如没有传进来batter_size这个变量,则默认赋值为70 导入类 我们把Car类的代码保存在car.py文件下,另一个文件中使用from car import Car,这样就导入了这个Car类,我们可以使用car里面的Car类 from car inport Car, ElectricCar # 这一句就是在新的文件下导car文件下面的两个类 import car aa = car.Car(‘11’, ‘22’, 2016) # 这一句话是导入整个模块,然后再使用句号表示法访问car文件下面的类 from module_name import * # 这一句话是导入模块中的所有类(不建议使用这种方法) 编码风格 类命名==驼峰命名法==每个单词首字母大写==不使用下划线 实例名和模块名==小写格式==加上下划线 每个类后面应该包含一个文档字符串,每个模块也应该是 类中方法之间一个空行隔开,模块中类与类之间两个空行隔开 import导入模块时,先导入标准库,再空一行import导入自己写的库



