函数input

name = input("This is :")
print(name)
# 等待输入数据,接下来输出结果
使用int()来获取数值输入

Python如何输入degree python如何输入未知个数_开发语言

while循环

循环输出1-5

number = 1
while number <= 5:
    print(number)
    number+=1

函数

  • 一些可以被重复使用的代码, 可以提取出来放到函数中.
  • Python使用def来定义一个函数. 使用return来返回结果.
def Add(x,y):
    return x+y
print(Add(1,2)) 
#输出结果为3
  • Python使用()来调用函数
  • 理解 “形参” 和 “实参”: 形参相当于数学中 “未知数” 这样的概念. 实参就是给未知数确定具体的数值.
  • Python中没有 “重载” 这样的概念. 相同名字的函数, 后面的会覆盖前面的.
def fun():
    print("aaa")

def fun():
    print("bbb")

fun()
#输出结果为bbb
返回字典
  • 函数可以返回任意类型的值,包括列表和字典等
def name_num(a,b):
    name = {'first':a,'last':b}
    return name

name = name_num('C','oys')
print(name)
#输出结果:{'first': 'C', 'last': 'oys'}
传递任意数量的实参
  • 形参名top中的星号让Python创建一个名为top的空元组
def coffee(*top) :
    print(top)
coffee('coffee')
coffee('milk','coffee','suger')
#可以借助循环更好的输出结果

函数也是 “对象”. 一个函数和一个数字, 字符串一样, 都可以定义 “别名” 来引用它.

# 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()+"rolled over!")
#         """三引号可以当注释"""
#
# my_dog = Dog('WILLe',6)
# print("my dog's name is "+my_dog.name.title()+".")
# print("My dog is " + str(my_dog.age) + "years.old.")


class Car(object):
    """一次模拟汽车的简单尝试"""
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.oldmeter_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.oldmeter_reading)+"miles on it")

    def updata_odmeter(self,mileage):
        if mileage >= self.oldmeter_reading:
            self.oldmeter_reading = mileage
        else:
            print("You can't roll back an odomter!")

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

# my_car = Car('audi','64',2016)
# print(my_car.get_descriptive_name())


# init函数为什么使用__就没有报错,而使用_就发生了报错?
# 结论:init函数前后个有两个下划线


# 继承
class 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 s',2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
重写
class Car():
    """一次模拟汽车的简单尝试"""

    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.oldmeter_reading = 0

    def get_descriptive_name(self):
        long_name = str(self.year)+' '+self.make+' '+self.model
        return long_name.title()

   # 对于父类的方法,只要它不符合子类模拟实物的行为,都可以对其重写
   # 为此,可在子类定义一个与要重写的方法同名的方法
   # 这样python将不会考虑父类方法,而只关注子类的方法

# 将实例作为属性
class Battery():
    """一次模拟电动汽车电瓶的简单尝试"""
    def __init__(self, battery_size=70):
        """初始化电瓶的属性"""
        self.batterya_size = battery_size
    def describe_battery(self):
        """打印一条描述电瓶容量的信息"""
        print("This car has a " + str(self.batterya_size) + "-kwh battery")

class ElectricCar(Car):
    """电动汽车的独特之处"""
    def __init__(self,make,model,year):
        """初始化父类的属性"""
        super().__init__(make,model,year)
        """初始化电动汽车特有的属性"""
        self.battery = Battery()



my_tesla = ElectricCar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()