Python常用语法汇总(三):函数、类

本文介绍了Python编程中的函数定义、参数处理、类的创建与继承,以及模块导入的多种方式,展示了面向对象编程的基本概念和实践.
摘要由CSDN通过智能技术生成

9. 函数

#1
def greet_user(username):  # 定义函数

    """显示简单的问候语"""

    print('Hello,' + username.title() + '!')

greet_user('Jesse')  # 调用函数

#2

def get_formatted_name(first_name,last_name):

    """返回整洁的姓名"""

    full_name = first_name + ' ' + last_name

    return full_name.title()

musician = get_formatted_name('jimi','hendrix')

print(musician)

#3

def build_person(first_name,last_name):

    """返回一个字典,其中包含有关一个人的信息"""

    person = {'first':first_name.title(),'last':last_name.title()}

    return person

musician = build_person('jimi','hendrix')

print(musician)

#4

def print_name1(name1,name2):

    while name1:

        current_name = name1.pop()

        print("Printing name1:" + current_name)

        name2.append(current_name)

def show_name2(name2):

    print("\nPrinting name2:")

    for name22 in name2:

        print(name22)

        name1 = ['iphone','robot','dodecahedron']

        name2 = []

        print_name1(name1,name2)

show_name2(name2)

print_name1(name1[:],name2) #向函数传递列表的副本,禁止函数修改列表

#5

def make_pizza(*toppings): #可传递任意数量的实参

    """打印顾客点的所有配料"""

    print("\nMaking a pizza with the following toppings")

    for topping in toppings:

        print("- " + topping)

make_pizza('mushroom','green peppers','extra cheese')

#6

def build_profile(first,last,**user_info): #接受任意数量的关键字实参

    profile = {}

    profile['first_name'] = first

    profile['last_name'] = last

    for key,value in user_info.items():

        profile[key] = value

    return profile

user_profile = build_profile('albert','einstein',location='princeton',field='physics')

print(user_profile)

#7

def make_pizza(size,*toppings):

    """概述要制作的披萨"""

    print("\nMake a " + str(size) + "-inch pizza with the following toppings:")

    for topping in toppings:

        print("- " + topping)

#将其保存为pizza.py,且文件pizza.py中除该函数外无其他代码

import pizza #导入模块pizza,可在程序中使用该模块中所有函数

pizza.make_pizza(12,"mushrooms",'extra cheese')

from module_name import function_0,functin_1,function_2#导入特定的函数

#8

from pizza import make_pizza as mp #指定别名mp

mp(12,"mushrooms",'extra cheese')

#9

import pizza as p

p.make_pizza(12,"mushrooms",'extra cheese')

#10

from pizza import * #导入模块中的所有函数

make_pizza(12,"mushrooms",'extra cheese')

10. 类

#1

class Dog():  # 定义类

    """一次模拟小狗的简单尝试"""

    def __init__(self,name,age):

        """初始化属性nameage"""

        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('willie',6)  # 创建实例

print("My dog's name is " + my_dog.name.title() + ".")

print("My dog is " + str(my_dog.age) + " years old.")

my_dog.sit()

my_dog.roll_over()

#2

class Car():

    """一次模拟汽车的简单尝试"""

    def __init__(self,make,model,year):

        """初始化描述汽车的属性"""

        self.make = make

        self.model = model

        self.year = year

        self.odometer_reading = 0 #添加属性odometer_reading,初始值为0

    def get_name(self):

        """返回信息"""

        long_name = str(self.year) + ' ' + self.name + ' ' + 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't roll back an odometer!")

    def increment_odometer(self,miles):

        """将里程表增加指定的量"""

        self.odometer_reading += miles

my_usedcar = Car('subaru','outback',2013)

print(my_usedcar.get_name())

my_usedcar.update_odometer(23500)

my_usedcar.read_odometer()

my_usedcar.increment_odometer(100)

my_usedcar.read_odometer()

#3

class ElectricCar(Car): #继承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('tesila','model s',2016)

print(my_tesla.get_name())

my_tesla.describe_battery()

#4

#将例2Car类保存为car.py

from car import Car #导入模块car中的类Car

my_newcar = Car('audi','a4',2016)

print(my_newcar.get_name())

#或者

import car

my_newcar = car.Car('audi','a4',2016)

print(my_newcar.get_name())

#5

from collections import OrderedDict #导入OrderedDict

favorite_languages = OrderedDict()  #创建空的有序字典

favorite_languages['jen'] = 'python'

favorite_languages['sarah'] = 'c'

favorite_languages['phil'] = 'ruby'

for name,language in favorite_languages.items():

print(name.title() + "'s favorite language is " + language.title() + ".")

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trisyp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值