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

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() + ".")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/739297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何考上东南大学计算机学院?

东南大学招生学院是计算机科学与工程学院、苏州联合研究生院,复试公平,不歧视双非考生,985院校中性价比较高,但近年热度在逐年上涨,需要警惕。 建议报考计算机科学与工程学院081200计算机科学与技术专业目标分数为380…

帮管客CRM(jiliyu)接口SQL注入漏洞

文章目录 前言声明一、漏洞描述二、影响版本三、漏洞复现四、修复建议 前言 帮管客CRM客户管理系统专注于为企业提供crm客户关系管理、crm管理系统、crm软件产品及企业销售管理流程解决方案服务,助力企业业绩增长。 声明 请勿利用文章内的相关技术从事非法测试,由…

jdk17出现错误无法初始化主类 和NoClassDefFoundError:Vector的解决方法

概述:网上流传文章大多都是编译和运行都加下面这串代码 --add-modulesjdk.incubator.vector我估计他们大多都是复制粘贴的文章,这种东西就是电子垃圾,在idea中,大多人都习惯用maven来构建java项目,接下来我将讲解使用…

倒计时34,33天

一&#xff1a; 背包问题复习&#xff1a; //01背包&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int N2e56; int v[N],w[N],dp[N]; const int inf0x3f3f3f3f; void solve() {int n,V;cin>>n>>V;for(int i1;i<…

【C++】string学习 — 手搓string类项目

手搓string项目 1 string类介绍2 功能描述3 代码实现3.0 基础框架3.1 构造函数 和 析构函数3.2 流操作符重载 和 尾插扩容3.4 运算符重载3.5 实用功能3.6 迭代器模拟 总结Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&#xff01;下一篇…

LeetCode:206.反转链表

206. 反转链表 解题过程 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; …

变更接口形参,但是不想影响接口调用者怎么办?

例如接口&#xff1a;public void test(String s1){}&#xff0c;该接口有多个生产者即调用者。 因为其中一个生产者需求变动&#xff0c;调用test方法的时候需要新增一个参数。这种情况下如果直接修改test方法增加参数&#xff0c;需要修改所有的调用者代码&#xff0c;比较麻…

linux下目录切换快捷指令

cd - "cd -" 是一个命令行中的快捷方式&#xff0c;用于返回上一个工作目录。通常&#xff0c;当你在命令行中使用 cd 命令切换目录时&#xff0c;系统会记住你之前所在的目录。通过输入 cd -&#xff0c;你可以返回到上一个目录&#xff0c;而不必输入完整的路径。…

如何使用 Langchain、Ollama 和 Streamlit 构建 RAG

一、先决条件&#xff1a;您需要了解什么 在深入讨论技术细节之前&#xff0c;我们先概述一下先决条件。Python 的基础知识至关重要&#xff0c;因为它是我们将使用的主要语言。熟悉机器学习和自然语言处理的基本概念将帮助您更轻松地掌握这些概念。此外&#xff0c;对 Langch…

蓝桥杯练习系统(算法训练)ALGO-973 唯一的傻子

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 腿铮找2255有点事&#xff0c;但2255太丑了&#xff0c;所以腿铮不知道他的长相。正愁不知道到如何找他的时候&#xff0c;…

TCP通信程序

#发端 #include "head.h"int main(void) { int sockfd 0;ssize_t nsize 0;struct sockaddr_in recvaddr;char tmpbuff[1024];int ret 0;int fd 0; int nret 0;sockfd socket(AF_INET,SOCK_STREAM,0); /* 流式套接字 */if(-1sockfd){perror("fail to socke…

【开发环境】Ubuntu 18.04 搭建 QT编译环境详细步骤 【亲测有效】

目录 1 查看Ubuntu系统中Qt版本 2 下载Ubuntu系统Qt版本安装包 3 Qt安装 3.1 Qt 安装步骤 3.2 安装qt发现Ubuntu空间不足&#xff0c;怎么去扩容呢&#xff1f; 3.2.1 硬盘操作步骤&#xff08;需要关闭虚拟机进行操作&#xff09; 3.2.2 Ubuntu命令操作&#xff1a;安装…

云计算项目七:jump-server安装部署

jump-server安装部署 配置清单 jumpserver概述 Jumpserver是一款开源的堡垒机&#xff0c;可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作&#xff0c;并且支持大部分操作系统&#xff0c;是一款非常安全的远程连接工具 常见支持的系统 CentOS, RedHat, …

基于springboot实现酒店客房管理系统项目【项目源码+论文说明】

基于springboot实现酒店客房管理平台系统演示 摘 要 随着人们的物质水平的提高&#xff0c;旅游业和酒店业发展的速度越来越快。近年来&#xff0c;市面上酒店的数量和规模都在不断增加&#xff0c;如何提高酒店的管理效率和服务质量成为了一个重要的问题。伴随着信息技术的发…

内网渗透-跨域环境渗透-1

目录 smbclient工具 mimikatz工具 Kerbers协议 NTLM认证 hash传递攻击&#xff08;PTH攻击&#xff09; 黄金票据攻击 白银票据 MS14-068 smbclient工具 在linux里面连接远程windows共享目录&#xff0c;可以使用这个工具 ​ 第一种连接方式&#xff1a;smbclient -L 目…

HarmonyOS 非线性容器特性及使用场景

非线性容器实现能快速查找的数据结构&#xff0c;其底层通过 hash 或者红黑树实现&#xff0c;包括 HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray 七种。非线性容器中的 key 及 value 的类型均满足 ECMA 标准。 HashMap HashMap 可用来存…

牛客网KY19 今年的第几天?

题目 描述&#xff1a; 输入年、月、日&#xff0c;计算该天是本年的第几天。 输入描述&#xff1a; 包括三个整数年(1<Y<3000)、月(1<M<12)、日(1<D<31)。 输出描述&#xff1a; 输入可能有多组测试数据&#xff0c;对于每一组测试数据&#xff0c; 输出一个…

JWT概述

JSON Web Token&#xff08;缩写 JWT&#xff09;是目前最流行的跨域认证解决方案&#xff0c;本文介绍它的原理和用法。 一、跨域认证的问题 互联网服务离不开用户认证。一般流程是下面这样。 1、用户向服务器发送用户名和密码。 2、服务器验证通过后&#xff0c;在当前对话…

学习Java的第八天

本节我们重点研究对象和类的概念。 对象&#xff08;Object&#xff09;是一个应用系统中的用来描述客观事物的实体&#xff0c;是有特定属性和行为&#xff08;方法&#xff09;的基本运行单位。是类的一个特殊状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有…

记事小本本

记事小本本 实现效果 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</titl…