【JavaSE专栏57】深度解析Java中的this和super关键字:用途、差异和实际应用

深度解析Java中的this和super关键字:用途、差异和实际应用

    • 摘要
    • 引言
      • 1. this关键字
        • 1.1 什是this关键字? 🤔
        • 使用 `this` 解决成员变量和参数之间的歧义:
        • 在构造方法中调用其他构造方法:
        • 1.3 引用成员变量和方法 🎯
      • 2. super关键字
      • 2.1 `super` 关键字的基本概念
      • 2.1 `super` 关键字的用途
        • 1. 访问父类的变量
        • 2. 调用父类的构造方法
        • 3. 调用父类的方法
      • 总结
        • 2.2 this和super关键字的使用区别 🔄
      • 区别:this 和 super 关键字的用途
        • 1. `this` 关键字
        • 2. `super` 关键字
      • 总结
      • 3. 实际案例分析
        • 3.1 this和super关键字的实际应用 🌟
        • 使用 `this` 构建复杂对象:
        • 使用 `super` 构建继承结构:
        • 使用 `this` 处理方法重载:
      • 4. this、super面试题
        • 4.1 面试中的this和super关键字问题 🎤
      • 5. 性能和最佳实践 ⏱️
      • 1. 合理使用 `this`
      • 2. 明晰使用 `super`
      • 3. 避免不必要的使用
      • 4. 谨慎选择合适的命名
      • 5. 了解上下文
      • 6. 代码审查和优化
    • 总结

在这里插入图片描述
在这里插入图片描述

博主 默语带您 Go to New World.
个人主页—— 默语 的博客👦🏻
《java 面试题大全》
🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭
《MYSQL从入门到精通》数据库是开发者必会基础之一~
🪁 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄之助。苟未尽善尽美,敬请批评指正,以资改进。!💻⌨

在这里插入图片描述


标题: “深度解析Java中的this和super关键字:用途、差异和实际应用” 🚀📚🤔🎯🌟⏱️🔄

摘要

作为Java开发者,了解this和super关键字的多重用途至关重要。在本文中,我们将深入研究这两个关键字,解释它们的基本概念、应用场景和区别,并通过实际案例演示它们的实际应用。让我们一起深入探讨这个有趣的主题! 🤓👨‍💻

引言

Java中的this和super关键字是面向对象编程的关键要素,但它们经常令人困惑。在本文中,我们将分别介绍this和super关键字的基本概念,以及它们的不同用途。我们还会提供面试题,以帮助您更好地理解和应对这两个关键字。

1. this关键字

1.1 什是this关键字? 🤔

我们将解释this关键字在Java中的基本作用,以及它代表当前对象的概念。此外,我们还会探讨如何在构造方法中使用this关键字,以实现代码重用和减少冗余。


在Java中,this 是一个关键字,用于表示当前对象。它有以下基本作用:

  1. 表示当前对象this 表示当前对象,即调用该方法的对象。当在类的方法内部使用 this 时,它引用的是调用该方法的对象。
  2. 解决成员变量和参数之间的歧义this 可以用于解决方法的参数和成员变量之间的歧义,特别是当它们具有相同的名称时。通过使用 this 关键字,可以明确指示要访问的是成员变量而不是方法参数。
  3. 在构造方法中调用其他构造方法this 可以用于在一个构造方法中调用同一类的其他构造方法,从而实现代码重用和减少冗余。

下面是一些示例,说明了 this 关键字的用法:

使用 this 解决成员变量和参数之间的歧义:
public class MyClass {private int value;public void setValue(int value) {this.value = value; // 使用this关键字来表示成员变量value}
}

在上面的示例中,this.value 明确表示类的成员变量 value,而 value 表示方法的参数。

在构造方法中调用其他构造方法:
public class Person {private String name;private int age;public Person() {this("John"); // 调用带参数的构造方法}public Person(String name) {this(name, 30); // 调用另一个带参数的构造方法}public Person(String name, int age) {this.name = name;this.age = age;}
}

在上面的示例中,构造方法通过使用 this 关键字来调用其他构造方法,以实现代码的重用和避免冗余。

总之,this 关键字在Java中用于引用当前对象,解决成员变量和参数之间的歧义,以及在构造方法中调用其他构造方法,是编写可读性和可维护性代码的重要工具。

1.2 调用构造方法 🏗️

通过示例代码,我们将演示如何使用this关键字在构造方法中调用其他构造方法,实现代码复用的目标。


在Java中,可以使用 this 关键字在构造方法中调用其他构造方法,以实现代码复用的目标。这通常用于避免在多个构造方法中重复相似的初始化代码。下面是一个示例,演示如何在构造方法中使用 this 调用其他构造方法:

public class Person {private String name;private int age;// 默认构造方法,调用带参数构造方法设置默认值public Person() {this("John", 30); // 调用带参数构造方法来设置默认值}// 带参数的构造方法,用于自定义属性值public Person(String name, int age) {this.name = name;this.age = age;}// 其他方法public void displayInfo() {System.out.println("Name: " + name + ", Age: " + age);}public static void main(String[] args) {// 创建对象并调用方法Person person1 = new Person();Person person2 = new Person("Alice", 25);person1.displayInfo(); // 输出默认值person2.displayInfo(); // 输出自定义值}
}

在上面的示例中,我们有两个构造方法:一个默认构造方法,用于设置默认属性值,另一个带参数的构造方法,用于接收自定义属性值。默认构造方法使用 this 调用带参数的构造方法来设置默认值,从而避免了在两个构造方法中重复设置属性值。

通过这种方式,您可以实现构造方法之间的代码重用,提高代码的可维护性,并减少冗余。这在Java中是一个常见的实践。

1.3 引用成员变量和方法 🎯

this关键字不仅用于解决参数和成员变量名冲突,还可以引用当前对象的成员方法。我们将提供实际案例,详细解释如何应用this关键字。


this 关键字不仅用于解决参数和成员变量名冲突,还可以用于引用当前对象的成员方法。通过 this,您可以在类的方法内部调用其他方法或引用其他成员变量,这对于在方法内部实现代码重用和访问对象的成员非常有用。以下是一个实际案例,详细解释如何应用 this 关键字:

public class Person {private String name;private int age;public Person(String name, int age) {this.name = name; // 使用this关键字引用成员变量this.age = age;   // 使用this关键字引用成员变量}public void introduce() {System.out.println("My name is " + this.name + " and I am " + this.age + " years old."); // 使用this引用成员变量}public void celebrateBirthday() {this.age++; // 使用this引用成员变量}public void haveBirthdayParty() {System.out.println("It's party time!");this.celebrateBirthday(); // 使用this引用成员方法System.out.println("Now I am " + this.age + " years old!");}public static void main(String[] args) {Person person = new Person("Alice", 25);person.introduce();person.haveBirthdayParty();}
}

在上面的示例中,this 关键字被用来引用当前对象的成员变量 nameage,以及引用当前对象的成员方法 celebrateBirthday()。这使得代码更清晰,同时确保在方法内部访问的是对象的成员。

总之,this 关键字在Java中是一个强大的工具,可用于引用对象的成员变量和方法,以提高代码的可读性和可维护性。它尤其在解决参数与成员变量冲突和在方法内部实现代码重用方面非常有用。

2. super关键字

super 关键字在 Java 中用于引用父类的实例变量或方法。它在继承关系中扮演着重要的角色。以下是 super 关键字的基本概念和用途:

2.1 super 关键字的基本概念

  • 引用父类的成员变量:在子类中,如果成员变量与父类同名,使用 super 关键字可以访问父类的变量。
  • 调用父类的构造方法:在子类的构造方法中,使用 super() 可以调用父类的构造方法,以确保子类在实例化时执行父类的初始化。
  • 调用父类的方法:在子类中,如果重写了父类的方法,可以使用 super 调用父类的方法。

2.1 super 关键字的用途

1. 访问父类的变量
class Parent {int number = 10;
}class Child extends Parent {int number = 20;void display() {System.out.println(number); // 子类的numberSystem.out.println(super.number); // 父类的number}
}
2. 调用父类的构造方法
class Parent {Parent() {System.out.println("Parent Constructor");}
}class Child extends Parent {Child() {super(); // 调用父类构造方法System.out.println("Child Constructor");}
}
3. 调用父类的方法
class Parent {void display() {System.out.println("Parent's method");}
}class Child extends Parent {void display() {super.display(); // 调用父类的display方法System.out.println("Child's method");}
}

总结

super 关键字允许在子类中访问父类的成员变量、方法和构造方法。通过 super 关键字,可以在继承关系中维护父子类之间的联系,确保正确的调用和初始化。

2.2 this和super关键字的使用区别 🔄

在这一部分,我们将比较this和super关键字的不同用途,以清楚地了解它们之间的区别。


理解 thissuper 关键字之间的区别对于正确使用它们至关重要。以下是它们之间的不同点:

区别:this 和 super 关键字的用途

1. this 关键字
  • 代表当前对象的引用。
  • 主要用于访问当前类的属性、方法、或者调用构造函数。
  • 可用于避免局部变量和实例变量之间的歧义。

示例:

public class MyClass {private int number;public MyClass(int number) {this.number = number; // 使用 this 引用对象的属性}public void display() {System.out.println(this.number); // 使用 this 引用对象的属性}
}
2. super 关键字
  • 代表父类对象的引用。
  • 主要用于访问父类的属性、方法,以及调用父类的构造函数。
  • 在子类中当子类和父类拥有相同名字的属性或方法时,通过 super 可以明确指定使用父类的属性或方法。

示例:

public class Parent {protected int number = 10;
}public class Child extends Parent {private int number = 20;public void display() {System.out.println(this.number); // 子类的 numberSystem.out.println(super.number); // 父类的 number}
}

总结

  • this 关键字用于引用当前对象的属性和方法,以及调用当前类的构造方法。
  • super 关键字用于访问父类的属性和方法,以及调用父类的构造方法。

3. 实际案例分析

3.1 this和super关键字的实际应用 🌟

通过生动的案例分析,我们将演示如何巧妙地利用this和super关键字来解决实际的编程难题,从构建复杂对象到设计继承结构。


thissuper 关键字在Java中有许多实际应用,以下是一些案例分析,演示如何巧妙地利用这两个关键字来解决实际的编程问题:

使用 this 构建复杂对象:
public class Person {private String name;private int age;public Person() {this("John", 30); // 调用另一个构造方法来设置默认值}public Person(String name, int age) {this.name = name;this.age = age;}// 其他方法
}

在这个示例中,使用 this 关键字在构造方法中调用另一个构造方法,以避免在多个构造方法中重复设置属性值。

使用 super 构建继承结构:
class Animal {String name;Animal(String name) {this.name = name;}
}class Dog extends Animal {String breed;Dog(String name, String breed) {super(name); // 调用父类构造方法this.breed = breed;}
}

在这个示例中,super 关键字用于在子类的构造方法中调用父类的构造方法,以初始化父类的属性。这是构建继承结构的常见应用。

使用 this 处理方法重载:
public class Calculator {public int add(int num1, int num2) {return num1 + num2;}public double add(double num1, double num2) {return num1 + num2;}public String add(String str1, String str2) {return this.add(Integer.parseInt(str1), Integer.parseInt(str2)); // 使用this关键字在方法内部调用其他方法}
}

在这个示例中,this 关键字用于在一个方法内部调用同一类的其他方法,以实现方法重载和代码重用。

这些案例分析展示了如何巧妙地应用 thissuper 关键字来解决构建复杂对象、设计继承结构和处理方法重载等实际的编程难题。这两个关键字在Java编程中非常有用,可以提高代码的可维护性和可读性。

4. this、super面试题

4.1 面试中的this和super关键字问题 🎤

我们将提供一系列与this和super关键字相关的面试题,帮助您在技术面试中更加自信地回答相关问题。


  1. this 关键字在Java中的作用以及如何使用它: this 关键字用于表示当前对象,它有以下作用:

    • 引用当前对象的成员变量:可以使用 this 引用当前对象的成员变量,特别是当参数和成员变量具有相同名称时,可以用于消除歧义。
    • 引用当前对象的方法:可以使用 this 在类的方法内部调用其他方法,以实现代码重用。
    • 在构造方法中调用其他构造方法:可以使用 this 在构造方法内部调用同一类的其他构造方法,以避免重复的初始化代码。
  2. super 关键字在Java中的作用以及如何使用它: super 关键字用于表示父类对象,它的作用包括:

    • 调用父类的构造方法:可以使用 super 在子类的构造方法中调用父类的构造方法,以初始化父类的属性。
    • 访问父类的成员变量和方法:可以使用 super 访问父类中的成员变量和方法,以扩展或覆盖它们。
  3. this 关键字和 super 关键字之间的主要区别:

    • this 表示当前对象,用于访问当前对象的成员变量和方法,以及在构造方法中调用其他构造方法。
    • super 表示父类对象,用于在子类中调用父类的构造方法,访问父类的成员变量和方法。
  4. 在Java中为什么要在构造方法中使用 this 关键字: 在构造方法中使用 this 关键字可以用于在同一类的不同构造方法之间实现代码重用和避免冗余。这允许您在构造方法内部调用其他构造方法,以设置默认值或处理不同的参数。

  5. 如何使用 this 关键字在一个构造方法中调用另一个构造方法: 使用 this 关键字来在构造方法中调用另一个构造方法,语法如下:

    public MyClass() {this(parameter1, parameter2); // 调用其他构造方法
    }
    
  6. 在继承结构中为什么要使用 super 关键字来调用父类的构造方法: 在继承结构中,使用 super 关键字可以调用父类的构造方法,以确保父类的初始化工作得以完成。这是构建继承关系时的一种常见做法。

  7. super() 与 this() 之间的区别:

    • super() 用于在子类的构造方法中调用父类的构造方法。
    • this() 用于在同一类的构造方法中调用其他构造方法,但不涉及父类的构造方法。
  8. 方法重载是什么: 方法重载是一种在同一个类中定义多个方法,这些方法具有相同名称但不同的参数列表。方法重载允许使用相同的方法名来执行不同的操作,根据传递的参数的数量或类型来区分方法。

  9. 如何使用 this 关键字处理方法重载: 使用 this 关键字可以在同一类的方法内部调用其他方法,以处理方法重载。通过在方法内部使用 this 并传递不同的参数,可以实现方法的多个版本。

  10. 方法覆盖(重写)是什么: 方法覆盖是一种子类重写父类中的方法,以提供自己的实现。在方法覆盖中,子类方法的名称、参数列表和返回类型必须与父类方法相同。

  11. 在子类中如何使用 super 关键字来调用父类的方法: 使用 super 关键字可以在子类中调用父类的方法,以执行父类的实现。在子类方法内部使用 super.methodName() 来调用父类的方法。

  12. 在Java中如何使用 this 关键字引用当前对象的成员变量和方法: 使用 this 关键字可以引用当前对象的成员变量和方法。例如,this.variableName 用于引用当前对象的成员变量,而 this.methodName() 用于引用当前对象的方法。这有助于消除参数和成员变量之间的歧义。

5. 性能和最佳实践 ⏱️

在使用this和super关键字时,性能和最佳实践至关重要。我们将讨论性能方面的考虑,并提供最佳实践,以确保您的代码高效且易于维护。

在使用 thissuper 关键字时,性能方面并没有直接的差异。这些关键字的使用对性能影响较小,因为它们是编译时的静态绑定。然而,有一些最佳实践可以帮助您编写更高效且易于维护的代码:

1. 合理使用 this

在适当的情况下使用 this 可以提高代码的可读性和清晰度。this 关键字指代当前对象,常用于以下情况:

  • 区分成员变量和局部变量:当局部变量与实例变量同名时,使用 this 可以清晰地指代实例变量。

    public class MyClass {private int number;public MyClass(int number) {this.number = number; // 使用 this 引用对象的属性}
    }
    

2. 明晰使用 super

super 关键字用于引用父类的属性和方法,特别是当子类与父类存在同名属性或方法时。这有助于在继承关系中明确指定访问父类的成员。

class Parent {protected int number = 10;
}class Child extends Parent {private int number = 20;public void display() {System.out.println(this.number); // 子类的 numberSystem.out.println(super.number); // 父类的 number}
}

3. 避免不必要的使用

避免过度使用 thissuper。过多的使用可能使代码变得复杂和难以理解。只在有需要的地方使用这些关键字。

4. 谨慎选择合适的命名

给变量和方法选择清晰的、有意义的命名是代码质量的一部分。良好的命名习惯有助于减少对 thissuper 关键字的依赖。

5. 了解上下文

在合适的场景下使用 thissuper,并理解其作用域和影响。确保使用这些关键字是合乎逻辑和清晰的。

6. 代码审查和优化

定期进行代码审查和优化是保持代码整洁性和性能的关键步骤。这有助于发现并改进过度使用或不恰当使用 thissuper 的情况,确保代码质量和可维护性。

thissuper 关键字的使用在性能方面并不会引起显著影响。然而,遵循最佳实践可以帮助您编写更具清晰性、可读性和维护性的代码。选择恰当的关键字使用场景并避免不必要的使用,对代码质量和性能都是有帮助的。

总结

通过本文,您应该对Java中的this和super关键字有了更深刻的理解。这两个关键字在Java编程中非常重要,熟练掌握它们将帮助您编写更高质量的代码。继续深入学习,并将这些知识应用到实际项目中! 🚀📖

在这里插入图片描述


🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

如对本文内容有任何疑问、建议或意见,请联系作者,作者将尽力回复并改进📓;(联系微信:Solitudemind )

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

在这里插入图片描述

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

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

相关文章

使用内网穿透工具进行支付宝沙箱环境支付的SDK接口远程测试

Java支付宝沙箱环境支付,SDK接口远程调试【内网穿透】 1.测试环境 MavenSpring bootJdk 1.8 2.本地配置 获取支付宝支付Java SDK,maven项目可以选择maven版本,普通java项目可以在GitHub下载,这里以maven为例 SDK下载地址:https://doc.open.alipay.com…

AutoEncoding与AutoRegressive:区别,联系和应用

关于AutoEncoding(AE)和AutoRegressive(AR) 前几天看了Ilya在Simons上做的关于Generative Model的演讲,介绍了OpenAI现在做的一些AutoRegressive的工作,昨天又看到LeCun宣称Auto-Regressive LLMs are doom…

CL_MVSNet复现可能会出现的问题汇总

1.最好按照说明文档要求配好python3.7和pytorch1.0 2. 【已解决】 FutureWarning: The module torch.distributed.launch is deprecated and will be removed in future. torch.distributed.launch被弃用,考虑使用torchrun模块进行替换。 解决方案: 将…

HDFS架构介绍

数新网络_让每个人享受数据的价值浙江数新网络有限公司是一家开源开放、专注于云数据智能操作系统和数据价值流通的服务商。公司自主研发的DataCyber云数据智能操作系统,主要包括数据平台CyberData、人工智能平台CyberAI、数据智能引擎CyberEngine、数据安全平台Cyb…

ChinaSoft 论坛巡礼 | 智慧化 IDE 论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

ubuntu(18.04) 安装 blast

1、下载 https://ftp.ncbi.nlm.nih.gov/blast/executables/blast/LATEST/2、解压,配置环境变量 tar zvxf ncbi-blast-2.14.1-x64-linux.tar.gz解压后改名为 blast 配置环境变量,可以不配置 使用的时候直接绝对路径使用 vim ~/.bashrc 将下面添加道最…

实现基于 Azure DevOps 的数据库 CI/CD 最佳实践

数据库变更一直是整个应用发布过程中效率最低、流程最复杂、风险最高的环节,也是 DevOps 流程中最难以攻克的阵地。那我们是否能在具体的 CI/CD 流程中,像处理代码那样处理数据库变更呢? DORA 调研报告 DORA(DevOps Research &am…

Docker添加软链接,解决c盘占用问题

Docker的文件,默认放在 c 盘,用多了很影响系统的速度。 解决方法: 为 Docker 路径添加软链接。 在 windows 搜索框,输入cmd ,以管理员身份运行 cmd * 执行命令: “C:\Program Files\Docker” 这个地址是…

Flask_Login使用与源码解读

一、前言 用户登录后,验证状态需要记录在会话中,这样浏览不同页面时才能记住这个状态,Flask_Login是Flask的扩展,专门用于管理用户身份验证系统中的验证状态。 注:Flask是一个微框架,仅提供包含基本服务的…

腾讯云轻量级服务器哪个镜像比较好?

腾讯云轻量应用服务器镜像是什么?镜像就是操作系统,轻量服务器镜像系统怎么选择?如果是用来搭建网站腾讯云百科txybk.com建议选择选择宝塔Linux面板腾讯云专享版,镜像系统根据实际使用来选择,腾讯云百科来详细说下腾讯…

Jenkins安装(Jenkins 2.429)及安装失败解决(Jenkins 2.222.4)

敏捷开发与持续集成 敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。…

C/C++ “variable set but not used“的 警告问题解决方案

在编程的过程中,会有一些预留的变量暂时不用,但是编译过程编译器警告 会报错无法编译通过针对这个问题,采用下面的解决方案比较方便。 错误如下形式: 三种解决方法: 1.可以在变量前加上(void)就…

How to install the console system of i-search rpa on Centos 7

How to install the console system of i-search rpa on Centos 7 1、 准备1.1 、查看磁盘分区状态1.2、上传文件1.2.1、添加上传目录1.2.2、上传安装包1.2.3、解压安装包1.2.4、查看安装包结构 1.3、安装依赖包1.3.1、基础依赖包1.3.2 相关依赖 1.4、关闭防火墙1.5、解除SeLin…

“KeyarchOS:国产Linux新星的崛起与创新之路“

简介 KOS,也就是KeyarchOS,是一款由国内团队开发的服务器操作系统。它因为几个特点而受到我的青睐和一些用户的关注。 首先,KOS注重安全性和稳定性。它有一些防护和隔离功能,来帮助系统稳定运行,而且是中文语言更接地…

FastAPI框架学习笔记(快速入门FastAPI框架)

1. 写在前面 今天整理一篇后端框架的笔记, fastapi框架是比较主流的后端异步web框架,关键是python语言可以写,正好公司最近安排了一些后端服务的活, 所以就看了一个fastapi框架的入门课程(链接在底部),完成任务&#…

中国各城市土地利用类型(城市功能)数据集(shp)

中国各城市土地利用类型(城市功能)数据集 时间:2018年 全国范围的城市用地类型数据(居住/商业/交通用地等共计11类) 分类:居住用地、商业用地、工业用地、医疗设施用地、体育文化设施用地、交通场站用地、绿地等用地类型 含城市编码、一级分类5个、二级分类11个 数据按…

FPGA时序分析与约束(9)——主时钟约束

一、时序约束 时序引擎能够正确分析4种时序路径的前提是,用户已经进行了正确的时序约束。时序约束本质上就是告知时序引擎一些进行时序分析所必要的信息,这些信息只能由用户主动告知,时序引擎对有些信息可以自动推断,但是推断得到…

【SpringCloud学习笔记(一)】

SpringCloud学习笔记(一) 一、认识SpringCloud1.1 简介1.2 服务与拆分与远程调用1.3 微服务的远程调用 二、微服务的几大组件2.1 EureKa注册中心2.1.1 Eureka介绍:2.1.2 Eureka实践: 2.2 Ribbon负载均衡2.2.1 负载均衡流程2.2.2 负…

【UE5】如何在UE5.1中创建级联粒子系统

1. 可以先新建一个actor蓝图,然后在该蓝图中添加一个“Cascade Particle System Component” 2. 在右侧的细节面板中,点击“模板”一项中的下拉框,然后点击“Cascade粒子系统(旧版)” 然后就可以选择在哪个路径下创建级…

python快速入门

语法结构 基本输出 使用print函数来完成基本输出 print("I am xl")注释 单行注释使用# 多行注释 多行注释""" 多行注释 """缩进 python和其他语言最大的区别就是用缩进来区分子代码区域而不是大括号 续行 使用\符号来完成续行…