【免费分享编程笔记】Python学习笔记

网友投稿 305 2022-09-07

【免费分享编程笔记】Python学习笔记

Python学习笔记~编程小哥令狐

文章目录

​​Python学习笔记~编程小哥令狐​​​​一.Python运行发生情况​​​​二.变量​​

​​2.1变量引入前说明​​​​2.2变量的命名和使用​​​​2.3字符串​​

​​2.3.1使用方法修改字符串大小写​​​​2.3.2合并 拼接字符串​​​​2.3.3使用制表符或换行来添加空白​​​​2.3.4删除空白​​​​2.3.5双引号运用​​

​​2.4数字​​

​​2.4.1整数​​​​2.4.2浮点数​​​​2.4.3使用函数str()避免类型错误​​

​​三.列表​​

​​3.1元素访问及其打印​​​​3.2修改,添加和删除元素​​

​​3.2.1修改列表元素​​​​3.2.2添加元素​​​​3.2.3删除元素​​

​​3.3组织列表​​

​​3.3.1使用sort()对列表进行永久性排序​​​​3.3.2倒着打印列表/永久性排列​​​​3.3.3确定列表长度​​

​​四、操作列表​​

​​4.1快速入门​​​​4.2缩进代码与循环操作​​​​4.3创建数值列表​​

​​4.3.1使用range()创建数字列表​​​​4.3.3数字统计计算/最大值/最小值/求和​​​​4.3.4列表解析​​

​​4.4使用列表的一部分​​

​​4.4.1切片​​​​4.4.2遍历切片​​

​​五、if语句​​

​​5.1引入例子​​​​5.2条件测试​​

​​5.2.1检查多个条件​​​​5.2.2检查特定值是否包含在列表中​​​​5.3.2if-else语句​​​​5.3.3if-elif-else​​​​5.3.4使用多个elif代码块​​

​​六、字典​​

​​6.2使用字典​​

​​6.2.1访问字典中的值​​​​6.2.2添加键值对​​​​6.2.3创建空字典​​​​6.2.4修改字典中的值​​​​6.2.5删除键值对​​​​6.2.6由类似对象组成的字典​​

​​6.3遍历字典​​

​​6.3.1遍历所有的键值对​​​​6.3.2遍历字典中的所有键​​​​6.3.3按顺序遍历字典中的所有键​​​​6.3.4遍历字典中的所有值​​

​​6.4嵌套​​

​​6.4.1字典列表​​​​6.4.2在字典中存储列表​​​​6.4.3在字典中存储字典​​

​​七、用户输入和while循环​​

​​7.1函数input​​

​​7.1.1编写清晰的程序​​​​7.1.2使用int()来获取数值输入​​​​7.1.3求模运算符​​

​​7.2while循环简介​​

​​7.2.1使用while循环​​​​7.2.2让用户选择何时退出​​​​7.2.3使用标志​​​​7.2.4适应break退出循环​​

​​7.3使用while循环来处理列表和字典​​

​​7.3.1在列表之间移动元素​​​​7.3.2删除包含特定值的所有列表​​

​​八、函数​​

​​8.1定义函数​​

​​8.1.1向函数传递信息​​​​8.1.2实参和形参​​

​​8.2返回值​​

​​8.2.1让实参变成可选​​

​​8.3传递列表​​

​​8.3.1在函数中修改列表​​

​​8.5传递任意数量的实参​​​​8.6将函数存储在模块中​​

​​8.6.1导入整个模块​​​​8.6.2导入特定函数​​​​8.6.3使用as给函数指定别名​​​​8.6.4使用as给模块指定别名​​​​8.6.5导入模块中的所有函数​​

​​九、类​​

​​9.1使用和创建类​​

​​9.1.1根据类创建实例​​

​​9.2使用类和实例​​

​​9.2.3修改属性值​​

​​9.3继承​​

​​9.3.1子类方法_init_()​​​​9.3.3给子类定义属性和方法​​

一.Python运行发生情况

一个​​Python​​​程序是以​​.py​​结尾的文件一个​​Python​​程序是通过Python解释器来进行读取和运行的。

二.变量

2.1变量引入前说明

message="Hello world"print(message)message="编程令狐"print(message)

在程序中可以随时修改变量的值,Python始终记录变量的最新值。

2.2变量的命名和使用

规则:

变量名不能以数字开头,只能以字母,数字,下划线组成。变量名不能包含空格不要使用关键字命名尽量使用小写字母命名变量名

2.3字符串

字符串:就是一系列字符

表示方法:被单引号或双引号包起来的内容

2.3.1使用方法修改字符串大小写

#将字符串的首字母转换成大写,使用title()方法name="ada lovelace"print(name.title())print(name.upper())#转换成大写print(name.lower())#转换成小写

2.3.2合并 拼接字符串

使用 **“+”**号进行直接拼接------拼接法

first_name="ada"last_name="lovelace"full_name=first_name+" "+last_name#中间加了一个空格print(full_name)#print("Hello"+" "+full_name.title())

2.3.3使用制表符或换行来添加空白

制表符就是5个空格​​\t​​

print("\tPython")

换行符​​\n​​

print("languages:\npython\nC")

2.3.4删除空白

favorite_language=' python 'print(favorite_language)favorite_language.rstrip()print(favorite_language)name="\tJackiehao\n"print(name.lstrip())print(name.rstrip())#末尾没有空白print(name.strip())

2.3.5双引号运用

字符串里面用双引号要加转义字符​​\​​

print("\nAlbert once said,\"Aperson ffff\"sss.")

2.4数字

2.4.1整数

整数可以做四则运算用两个​​**​​表示乘方

Num_1=3**2print(Num_1)

整数的除法

整数除法的结果只包含 整数,小数部分会删除

​​//​​表示Python3整数除法取整。

print(5+3)print(11-3)print(4*2)print(8//1)

2.4.2浮点数

带小数点的数字成为浮点数整数部分,小数部分删除。

3/2=1

print(0.2+0.1)#0.30000000000000004

2.4.3使用函数str()避免类型错误

为什么要使用str()函数呢?

因为23 是数字,也就是非字符串类型的,我们利用str将数字转换成字符型进行输出

age=23message="happy"+str(age)+"rd Birthday!"print(message)

如果用以下代码则会报错:

age=23message="happy"+age+"rd Birthday!"#没有str函数print(message)

三.列表

3.1元素访问及其打印

这个列表非常类似于数组的含义,它是一种有序集合。l列表访问元素的方法与数组类似。列表可以通过调用[-1]直接访问最后一个元素。

bicycles=['trek','cannondable','redline','specialized']#print(bicycles)print(bicycles[0].title())print(bicycles[-1])#访问最后一个元素name=['张三','李四','郭伟','诸葛亮']print(name[0])print(name[1])print(name[2])print(name[3])print("Happy"+name[0].title()+".")print("Happy"+name[1].title()+".")print("Happy"+name[2].title()+".")print("Happy"+name[3].title()+".")

3.2修改,添加和删除元素

3.2.1修改列表元素

直接利用索引下标进行修改

motorcycles=['honda','yamaha','suzuki']print(motorcycles)motorcycles[0]='ducat'print(motorcycles)

3.2.2添加元素

在列表末尾添加元素

方法: ​​append()​​

motorcycles=['honda','yamaha','suzuki']print(motorcycles)motorcycles.append('ducat')print(motorcycles)

​ 在列表中插入元素

方法:​​insert()​​

motorcycles=['honda','yamaha','suzuki']print(motorcycles)motorcycles.insert(0,'docat')print(motorcycles)

3.2.3删除元素

方法​​del​​

可以删除任意位置的元素

方法​​pop()​​

可以删除最末尾的元素,也可以删除任意位置元素

方法​​remove()​​,根据值删除元素

motorcycles=['honda','yamaha','suzuki']print(motorcycles)del motorcycles[0]print(motorcycles)

motorcycles=['honda','yamaha','suzuki']print(motorcycles)print(motorcycles.pop())print(motorcycles.pop(0))#删除任意位置元素print(motorcycles)

motorcycles=['honda','yamaha','suzuki']print(motorcycles)motorcycles.remove('honda')print(motorcycles)

什么时候使用del语句,什么时候使用Pop语句?

答案:如果你要删除一个元素,且不再用它,则用del语句;反之亦然。

3.3组织列表

3.3.1使用sort()对列表进行永久性排序

按字母大小写顺序进行升序排列/逆序排列【永久性的】

cars=['bmw','audi','toyota','subaru']升序排列:cars.sort()print(cars)逆序排列:cars.sort(reverse=True)print(cars)

临时性的排序

cars=['bmw','audi','toyota','subaru']print("Here is the original list:")print(cars)print("Here is the sorted list:")print(sorted(cars))print("Here is the original list again:")print(cars)

3.3.2倒着打印列表/永久性排列

利用方法: ​​Reverse()​​

cars=['bmw','audi','toyota','subaru']print(cars)cars.reverse()print(cars)

3.3.3确定列表长度

方法:​​len()​​

cars=['bmw','audi','toyota','subaru']print(len(cars))

四、操作列表

4.1快速入门

循环列表magicans执行操作后,将其打印在新变量magican,在打印一遍新变量

magicians=['alice','david','carolina']for magician in magicians: print(magician)

4.2缩进代码与循环操作

for循环语句以下的缩进代码会被循环执行操作,没有缩进的代码不会被循环操作

magicians=['alice','david','carolina']for magician in magicians: print(magician.title()+",that was a great trick") print("I can not wait to see your next trick,"+magician.title()+"\n")#这行代码没有缩进所以不会被循环操作print("I can not wait to see your next trick,"+magician.title()+"\n")

4.3创建数值列表

方法:​​Range()​​循环打印数字不是从1到5,而是从1到4!!!

for value in range(1,5): print(value)

4.3.1使用range()创建数字列表

使用​​list()​​​将​​range()​​结果转换为列表。

numbers=list(range(1,6))print(numbers)numbers=list(range(2,11,2))print(numbers)squares=[]for value in range(1,11): square=value**2 squares.append(square)print(squares)

4.3.3数字统计计算/最大值/最小值/求和

digits=[1,2,3,4,5,6,7,8,9,0]print(min(digits))print(max(digits))print(sum(digits))

4.3.4列表解析

先遍历赋值在乘方

squares=[value**2 for value in range(1,11)]print(squares)

4.4使用列表的一部分

4.4.1切片

切片就是列表的一部分内容元素。

获取列表的2~4个元素

motorcycles=['honda','yamaha','suzuki','name','fff']print(motorcycles[1:4])

获取列表从表头开始

motorcycles=['honda','yamaha','suzuki','name','fff']print(motorcycles[:4])

获取列表从表尾结束

motorcycles=['honda','yamaha','suzuki','name','fff']print(motorcycles[2:])

4.4.2遍历切片

方法: ​​for​​循环+切片

五、if语句

5.1引入例子

cars=['audi','bmw','subaru','toyota']for car in cars: if car=='bmw': print(car.upper()) else: print(car.title())

5.2条件测试

每条if语句的核心就是一个值​​true​​​或​​false​​。

5.2.1检查多个条件

使用and检查多个条件,相当于“&&”

age_0=22age_1=18print(age_0>=21 and age_1>21)

使用or检查多个条件,相当于“||”

age_0=22age_1=18print(age_0>=21 or age_1>21)

5.2.2检查特定值是否包含在列表中

关键字​​in​​

requested_toppings=['mushrooms','onions','pineapple']print('mushrooms' in requested_toppings)

在if语句中,缩进的作用与for循环中相同,如果测试通过了,将执行if语句后面所有缩进的代码,否则将忽略他们。

5.3.2if-else语句

age=17if age>=18: print("you are oil enough to vote") print("you are oil enough to vote123456")else: print("sorry you can ") print("sorry you can please register ")

5.3.3if-elif-else

age=12if age<4: print("your admission cost is 0$")elif age<18: print("your admission cost is 5$")else: print("your admission cost is 0$")

5.3.4使用多个elif代码块

age=12if age<14: price=0elif age<18: price=5elif age<65: price=10else: price=5print("your admission cost is $"+str(price)+".")

六、字典

字典就是能够存储互不相联的信息

alien_0={'color':'green','points':5}print(alien_0['color'])print(alien_0['points'])

6.2使用字典

字典是一系列的键------值对组成的。我们可以通过键访问值,也可以通过值访问键。

6.2.1访问字典中的值

alien_0={'color':'green','points':5}new_points=alien_0['points']print("you just earned "+str(new_points)+"points!")

6.2.2添加键值对

字典是一种动态结构,可以随时添加键值对。

alien_0={'color':'green','points':5}print(alien_0)alien_0['x_position']=0alien_0['y_position']=25print(alien_0)

6.2.3创建空字典

alien_0={}alien_0['color']='green'alien_0['points']=5print(alien_0)

6.2.4修改字典中的值

alien_0={'color':'green'}print("The alien is"+alien_0['color']+".")alien_0['color']='yellow'print("The alien is now"+alien_0['color']+".")

alien_0={'x_position':0,'y_position':25,'speed':'medium'}print("Original x-position:"+str(alien_0['x_position']))#向右移动外星人#据外星人当前速度决定其移动多远if alien_0['speed']=='slow': x_increment=1elif alien_0['speed']=='medium': x_increment=2else: #这个外星人的移动速度一定很快 x_increment=3#新位置等于老位置加上增量alien_0['x_position']=alien_0['x_position']+x_incrementprint("New x-position:"+str(alien_0['x_position']))

6.2.5删除键值对

alien_0={'color':'green','points':5}print(alien_0)del alien_0['points']print(alien_0)

6.2.6由类似对象组成的字典

favorite_languagres={ 'jen':'python', 'sarah':'C', 'edward':'ruby', 'phil':'python',}print("Saras facorite language is"+favorite_languagres['sarah'].title()+".")

6.3遍历字典

6.3.1遍历所有的键值对

​​items()​​方法可以返回字典里的键和值得元素

user_0={ 'username':'efermi', 'first':'enrico', 'last':'fermi',}for key,value in user_0.items(): print("\nkey:"+key) print("value:"+value)

6.3.2遍历字典中的所有键

在不需要使用字典中的值时,方法​​key()​​很有用。遍历所有键值。

favorite_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python',}for name in favorite_languages.keys(): print(name.title())

favorite_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python',}friends=['phil','sarah']for name in favorite_languages.keys(): print(name.title()) if name in friends: print("Hi"+name.title()+",I see your favorite languages is"+favorite_languages[name].title()+"!")

6.3.3按顺序遍历字典中的所有键

favoirte_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python',}for name in sorted(favoirte_languages.keys()): print(name.title()+",thank you for taking the poll")

6.3.4遍历字典中的所有值

favoirte_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python',}print("The following languages have been menthioned:")for language in favoirte_languages.values(): print(language.title())

6.4嵌套

将字典存储在列表中叫做嵌套

6.4.1字典列表

#字典alien_0={ 'color':'green', 'points':5,}alien_1={ 'color':'red', 'points':15,}alien_2={ 'color':'yellow', 'points':25,}aliens=[alien_0,alien_1,alien_2]#列表for alien in aliens: print(alien)

6.4.2在字典中存储列表

pizza={ 'crust':'thick', 'toppings':['mushrooms','extra cheese'],}print("you ordered a "+pizza['crust']+"-crust pizza"+"with the following toppings:")for topping in pizza['toppings']: print("\t"+topping)

6.4.3在字典中存储字典

users={ 'aeinstein':{ 'first':'albert', 'last':'einstein', 'location':'princetion', }, 'mucire':{ 'first':'marie', 'last':'curie', 'location':'princetion', },}for username,user_info in users.items(): print("\nusername:"+username) full_name=user_info['first']+" "+user_info['last'] location=user_info['location'] print("\tFull name:"+full_name.title()) print("\tLocation:"+location.title())

七、用户输入和while循环

7.1函数input

这是一个输入函数

message=input("tell me something and I will repeat it back to you:")print(message)

7.1.1编写清晰的程序

name=input("please enter your name:")print("Hello"+name+"!")

7.1.2使用int()来获取数值输入

​​int()​​可以将字符串转换成数字

age=input("How old are you?")age=int(age)if age>18: print("\n you are tall enough to ride")else: print("\n you .....")

7.1.3求模运算符

number=input("Enter a number ,and I will tell you if it is even or odd")number=int(number)if number%2==0: print("\nThe number"+str(number)+"is even")else: print("\nThe number "+str(number)+"is odd")

7.2while循环简介

7.2.1使用while循环

current_number=1while current_number<=5: print(current_number) current_number+=1;

7.2.2让用户选择何时退出

可以使用while循环让程序在用户愿意时不断运行。我们在其中定义一个退出值,只要用户输入的不是这个值,程序接着运行。

prompt="\n Tell me something and i will repeat it back to you:"prompt+="\n Enter 'quit' to end the program"message=""while message !='quit': message=input(prompt) print(message)

7.2.3使用标志

使用标志有点类似与旗帜变量。赋予它一个状态,当状态发生改变时,循环结束。

prompt="\n Tell me something and i will repeat it back to you:"prompt+="\n Enter 'quit' to end the program"active=Truewhile active: message=input(prompt) if message=='quit': active=False else: print(message)

7.2.4适应break退出循环

要退出while循环,不在执行接下来的代码,直接使用​​break​​

prompt="\n Tell me something and i will repeat it back to you:"prompt+="\n Enter 'quit' to end the program"while True: city=input(prompt) if city=='quit': break else: print("I love to go to "+city.title()+"!")

7.3使用while循环来处理列表和字典

7.3.1在列表之间移动元素

#首先创建一个带验证的用户列表#和一个用于存储已经验证的用户列表unconfirmed_users=['alice','brain','candace']confirmed_users=[]#验证每个用户,直到没有未验证的用户为止#将每个经过验证的列表都移动到已经验证后的用户列表中while unconfirmed_users: current_user=unconfirmed_users.pop() print("Verfing user:"+current_user.title()) confirmed_users.append(current_user) #显示所有已经验证的用户print("\nThe following users have beeen confimede:")for confirmed_user in confirmed_users: print(confirmed_user.title())

7.3.2删除包含特定值的所有列表

pets=['dog','cat','dog','goldfish','cat','rabbit','cat']print(pets)while 'cat' in pets: pets.remove('cat')print(pets)

八、函数

8.1定义函数

使用关键字​​def​​

def greeter_user(): print("Hello!")greeter_user()

8.1.1向函数传递信息

函数内可以包含参数,我们 在调用函数的时候可以自定义参数值进行传递

def greeter_user(username): print("Hello!"+username.title())greeter_user('jesse')

8.1.2实参和形参

调用函数传递的参数叫实参,因为它发挥了实际作用。定义函数的参数叫形参,只是一个摆设而已,可有可无,所以叫形参。

def describe_pet(animal_type,pet_name): print("\nI have a "+animal_type+".") print("my"+animal_type+"name is"+pet_name.title()+".")describe_pet('hasmter','harry')

8.2返回值

函数并非是直接输出显示,相反,他可以处理一些数据,返回一个或一组值。函数返回的值被称为返回值、

def get_formatted_name(first_name,last_name): full_name=first_name+' '+last_name return full_name.title()muscian=get_formatted_name('jimi','hendix')print(muscian)

8.2.1让实参变成可选

def get_formatted_name(first_name,last_name,middle_name=''): if middle_name: full_name=first_name+''+middle_name+''+last_name else: full_name=first_name+''+last_name return full_name.title()muscian=get_formatted_name('jimi','hendrix')print(muscian)muscians=get_formatted_name('jimi','hooker','lee')print(muscians)

8.3传递列表

函数实参为列表

def greet_users(names): for name in names: msg="Hello,"+name.title()+"!" print(msg)usernames=['hanana','ty','margot']greet_users(usernames)

8.3.1在函数中修改列表

#首先创建一个列表,其中一些包含要打印的设计unprinted_designs=['iphone case','robot pendant','dodecahedron']completed_models=[]#模拟打印这个设计,知道未打印的设计为止#打印每个设计后,都将其移动到completed_models中while unprinted_designs: current_design=unprinted_designs.pop() #模拟根据设计制作3D打印的过程: print("Printing model:"+current_design) completed_models.append(current_design)#显示并打印好所有的模型:print("\nThe following models have been printed:")for completed_model in completed_models: print(completed_model)

8.5传递任意数量的实参

形如​​*topping​​的参数我们称为一个元组。元组可以接受多个实参,这样做的好处就是形参不用写多个来匹配了!

def make_pizza(*toppinhs): print(toppinhs)make_pizza('peperoni')make_pizza('mushrooms','green peppers','extra cheese')def make_pizza(*toppings): print("\n making a pizza with following toppings:") for topping in toppings: print("-"+topping)make_pizza('peperoni')make_pizza('mushrooms','green peppers','extra cheese')

8.6将函数存储在模块中

8.6.1导入整个模块

将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。关键字​​import​​

pizza.py:

def make_pizza(size,*toppings): print("\n making a"+str(size)+ "-inch pizza with the following toppings:") for topping in toppings: print("-"+topping)

making_pizzas.py:

import pizzapizza.make_pizza(16,'pepperoni')pizza.make_pizza(12,'mushroom','pepperoni','green peppers','extra cheese')

8.6.2导入特定函数

​​from​​​模块名​​import​​函数名

from pizza import make_pizamake_pizza(16,"peopperonic")make_pizza(12,'mushroom','pepperoni','green peppers','extra cheese')

8.6.3使用as给函数指定别名

将函数进行重命名

from pizza import make_pizza as mpmp(16,'people')mp(12,'mushroom','pepperoni','green peppers','extra cheese')

8.6.4使用as给模块指定别名

通过给指定的简短的别名,让我们更轻松的调用模块中的函数。

import pizza as pp.make_pizza(16,'people')p.make_pizza(12,'mushroom','pepperoni','green peppers','extra cheese')

8.6.5导入模块中的所有函数

使用​​*​​运算符可以让Python导入模块的所有函数

from pizza import *make_pizza(16,'people')make_pizza(12,'mushroom','pepperoni','green peppers','extra cheese')

九、类

9.1使用和创建类

​​self​​是自动创建的一个形参,可以访问自己创建的属性

class Dog(): def __init__(self,name,age): self.name=name self.age=age def sit(self): print(self.name.title()+"is now sitting.") def roll_over(self): print(self.name.title()+"roll over!")

9.1.1根据类创建实例

class Dog(): my_dog=Dog('willie',6) print("my dog name is"+my_dog.name.title()+".") print("my dog is"+str(my_dog.age)+"year ole ")

访问属性

class Dog(): def __init__(self, name, age): self.name = name self.age = age def sit(self): print(self.name.title() + "is now sitting.") def roll_over(self): print(self.name.title() + "roll over!")my_dog=Dog('willie',6)print("\n"+my_dog.name)

调用方法

class Dog(): def __init__(self, name, age): self.name = name self.age = age def sit(self): print(self.name.title() + "is now sitting.") def roll_over(self): print(self.name.title() + "roll over!")my_dog=Dog('willie',6)my_dog.sit()my_dog.roll_over()

创建多个实例

class Dog(): def __init__(self, name, age): self.name = name self.age = age def sit(self): print(self.name.title() + "is now sitting.") def roll_over(self): print(self.name.title() + "roll over!")my_dog=Dog('willie',6)your_dog=Dog("lucky",3)print("my dog name is"+my_dog.name.title()+".")print("my dog is"+str(my_dog.age)+"years old")

9.2使用类和实例

class Car(): def __init__(self,make,model,year): self.make=make self.model=model self.year=year self.odometer_reading = 0 def get_descriptive_name(self): long_name=str(self.year)+' '+self.make+' '+self.model return long_name.title() def read_odometer(self): print("This car has"+str(self.odometer_reading)+"miles on it")my_new_car=Car('audi','a4',2016)print(my_new_car.get_descriptive_name())my_new_car.read_odometer()

9.2.3修改属性值

直接修改

class Car(): def __init__(self,make,model,year): self.make=make self.model=model self.year=year self.odometer_reading = 0 def get_descriptive_name(self): long_name=str(self.year)+' '+self.make+' '+self.model return long_name.title() def read_odometer(self): print("This car has"+str(self.odometer_reading)+"miles on it")my_new_car=Car('audi','a4',2016)print(my_new_car.get_descriptive_name())my_new_car.odometer_reading=23my_new_car.read_odometer()

通过方法修改属性值

class Car(): def __init__(self,make,model,year): self.make=make self.model=model self.year=year self.odometer_reading = 0 def get_descriptive_name(self): long_name=str(self.year)+' '+self.make+' '+self.model return long_name.title() def update_odometer(self,mileage): self.odometer_reading=mileage def read_odometer(self): print("This car has"+str(self.odometer_reading)+"miles on it")my_new_car=Car('audi','a4',2016)print(my_new_car.get_descriptive_name())my_new_car.update_odometer(23)my_new_car.read_odometer()

通过方法对属性值进行递增

class Car(): def __init__(self,make,model,year): self.make=make self.model=model self.year=year self.odometer_reading = 0 def get_descriptive_name(self): long_name=str(self.year)+' '+self.make+' '+self.model return long_name.title() def update_odometer(self,mileage): self.odometer_reading=mileage def increment_odometer(self,miles): self.odometer_reading+=miles def read_odometer(self): print("This car has"+str(self.odometer_reading)+"miles on it")my_used_car=Car('subaru','outback',2013)print(my_used_car.get_descriptive_name())my_new_car=Car('audi','a4',2016)print(my_new_car.get_descriptive_name())my_used_car.update_odometer(23)my_used_car.read_odometer()

9.3继承

原有的类称为父类,新类称为子类子类继承了父类所有的方法属性,同时还可以定义自己的属性和方法

9.3.1子类方法_init_()

class Car(): def __init__(self,make,model,year): self.make=make self.model=model self.year=year self.odometer_reading=0 def get_descriptive_name(self): long_name=str(self.year)+' '+self.make+' '+self.model return long_name.title() def read_odometer(self): print("This car has "+str(self.odometer_reading)+"miles on it") def update_odometer(self,mileage): if mileage>=self.odometer_reading: self.odometer_reading=mileage else: print("you can roll back an odometer!") def increment_odometer(self,miles): self.odometer_reading+=milesclass ElectricCar(Car): def __init__(self,make,model,year): super().__init__(make,model,year)my_tesla=ElectricCar('tesla','model',2016)print(my_tesla.get_descriptive_name())

9.3.3给子类定义属性和方法

class Car(): def __init__(self,make,model,year): self.make=make self.model=model self.year=year self.odometer_reading=0 def get_descriptive_name(self): long_name=str(self.year)+' '+self.make+' '+self.model return long_name.title() def read_odometer(self): print("This car has "+str(self.odometer_reading)+"miles on it") def update_odometer(self,mileage): if mileage>=self.odometer_reading: self.odometer_reading=mileage else: print("you can roll back an odometer!") def increment_odometer(self,miles): self.odometer_reading+=milesclass ElectricCar(Car): def __init__(self,make,model,year): super().__init__(make,model,year) self.battery_size=70 def describe_battery(self): print("This car has a "+str(self.battery_size)+"-kwh battery")my_tesla=ElectricCar('tesla','model',2016)print(my_tesla.get_descriptive_name())my_tesla.describe_battery()

an odometer!")

def increment_odometer(self,miles): self.odometer_reading+=miles

class ElectricCar(Car): def init(self,make,model,year): super().init(make,model,year)

my_tesla=ElectricCar(‘tesla’,‘model’,2016) print(my_tesla.get_descriptive_name())

### 9.3.3给子类定义属性和方法```pythonclass Car(): def __init__(self,make,model,year): self.make=make self.model=model self.year=year self.odometer_reading=0 def get_descriptive_name(self): long_name=str(self.year)+' '+self.make+' '+self.model return long_name.title() def read_odometer(self): print("This car has "+str(self.odometer_reading)+"miles on it") def update_odometer(self,mileage): if mileage>=self.odometer_reading: self.odometer_reading=mileage else: print("you can roll back an odometer!") def increment_odometer(self,miles): self.odometer_reading+=milesclass ElectricCar(Car): def __init__(self,make,model,year): super().__init__(make,model,year) self.battery_size=70 def describe_battery(self): print("This car has a "+str(self.battery_size)+"-kwh battery")my_tesla=ElectricCar('tesla','model',2016)print(my_tesla.get_descriptive_name())my_tesla.describe_battery()

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:年轻化营销如何出圈?这个品牌用“新”了!
下一篇:2020-8-26 剑指offer编程小哥令狐 075211
相关文章

 发表评论

暂时没有评论,来抢沙发吧~