随着OpenAI的开展,Python的重要性显而易见。不知你是否和我一样,不知道从前说过多少次我要学Python,都没有履行起来…. 近期我在知识库中更新了一波Python教程,选取了这一篇共享给大家。

前言

许多时分咱们需求让程序变成交互性的,能够对用户输入做出响应。交互性的运用程序能够极大丰富运用功能,比方咱们能够做一个自己的谈天机器人等等,咱们先来看怎么接纳用户的输入。

知道input函数

函数input()函数能够让程序暂停运转,等待用户输入文本。获取用户 输入后,Python将其赋给一个变量。比方咱们让用户输入名字,代码如下所示。

name = input("请输入你的名字:")
print(f"欢迎{name}")
work = input("请问你的作业是什么:")
print(f"哦,{work}是一份十分有前景的作业")

input函数能够承受一个prompt提示语,等待用户输入完成后,会将用户输入的内容赋值给界说的变量。运转上述程序,输入“黄林晴”,作业输入“Android开发工程师”

怎么样,是不是瞬间逼格高了许多,人工“智能”的一小步。

假如咱们的prompt提示语过长,能够选用字符串拼接的办法,代码如下所示。

prompt = "尊敬的先生/女士,十分荣幸能与您进行交流。在这个美好的时间,我想讨教您一个问题:请问"
prompt += "\n你叫什么名字?"
name = input(prompt)

咱们也能够结合while循环让那个用户一向输入,直到输入完毕标志,代码如下所示。

prompt = "Q:"
key = ''
while key != 'end':
    key = input(prompt)
    if key != 'end':
        print(f"A:我不知道什么是{key}")
    else:
        print("Bye!")

运转程序成果如下所示。

不破不立,那些年错过的Python

当代码量比较多的时分,咱们会将办法拆分为各种函数。

函数

知道函数

函数是带名字的 代码块,用于完成详细的作业。要履行函数界说的特定任务, 可调用该函数。比方咱们将上面的办法写在一个函数里边。代码如下所示。

def chat () :
    prompt = "Q:"
    key = ''
    while key != 'end':
        key = input(prompt)
        if key != 'end':
            print(f"A:我不知道什么是{key}")
        else:
            print("Bye!")

这儿咱们运用def关键字,界说了一个名为chat的函数。假如咱们想调用整个函数直接调用chat()即可。

函数传参

在Python假如函数中包括参数,咱们只直接在函数的括号内填写即可,比方上述办法中完毕标志改为从参数传入,修正代码如下所示。

def chat(enkey):
    prompt = "Q:"
    key = ''
    while key != enkey:
        key = input(prompt)
        if key != enkey:
            print(f"A:我不知道什么是{key}")
        else:
            print("Bye!")

调用时,直接传递参数即可,代码如下所示。

chat("end")

当然咱们也能够为形参指定默认值,比方

def chat(enkey = "end"):

这些与Kotlin都大同小异,所以咱们仅仅简单的记载一下。

带有回来值的函数

有些函数是需求回来值的,而带有回来值函数的界说Python是不同于其他言语的,其他言语都要界说回来类型,而Python直接回来即可。比方咱们编写一个办法求两个数的和,能够编写如下所示的代码。

def sum(num1, num2):
    return num1 + num2

调用办法如下所示。

value = sum(1, 2)
print(f"两个数的和为:{value}")

运转程序,打印成果为3,能够看出Python函数的声明还是十分简洁的。

不破不立,那些年错过的Python

导入函数

在实际项目开发中会有很多的函数,为了便于管理,咱们通常会将函数放在独自的模块中咱们也能够说放在独自的文件中,比方咱们新建pys文件夹,在文件夹下创立sum.py文件,将上述界说的sum函数写在这个文件中,然后需求在main.py中调用这个办法,当时目录结构为

不破不立,那些年错过的Python

现在咱们在main.py中调用这个办法,是没有办法直接调用到的,需求导入这个模块或许这个模块对应办法,代码如下所示。

from pys.sum import sum_number

导入之后就能够在main.py中正常调用了。在导入外部模块函数的时分或许出现与当时模块抵触的状况,所以咱们还能够运用 as 关键字给导入的函数指定别号,比方,咱们将sum_number函数指定别号为add,调用代码如下所示。

from pys.sum import sum_number as add
value = add(1, 2)
print(f"两个数的和为:{value}")

相同的咱们也能够给导入的模块指定别号,这儿就不展现了。假如咱们想要导入模块下的所有函数能够运用*,代码如下所示。

from pys.sum import *

类的界说

面向对象编程的单位就是类,咱们都是有开发根底的,所以这儿不说类是什么,咱们看怎么在Python中运用类。

咱们创立一个Student类,用于记载Student的名字、年纪,成果等信息,创立出的Student类如下所示。

class Student:
    def __init__(self, name, age, core):
        self.name = name
        self.age = age
        self.core = core
    def get_core(self):
        return f"{self.name}的成果是{self.core}分"

这儿有几点需求留意的:

  • 这儿的init办法相当于java中的结构办法
  • 形参self是必不可少的,在实例化Student类的时分会主动传入
  • get_core函数因为要拜访特点,所以也要传入一个self形参,假如不需求则不必包括

现在咱们来实例化一个student,并且获取他的成果,调用代码如下所示。

from pys.Student import Student
student1 = Student("黄林晴", 28, 95)
print(student1.get_core())

运转程序如下图所示。

不破不立,那些年错过的Python

其他的如更改类特点等办法都与在Java中大同小异,所以直接省略了。

类的承继

在Python中承继的写法也很简单,在子类声明的括号中传父类即可,比方有一个类Ahuangge承继自Student类,编写代码如下所示。

class Ahuangge(Student):
    def __init__(self, name, age, core):
        super().__init__(name, age, core)
    def get_core(self):
        print("qwe")

在init中调用父类办法,然后重写get_core办法回来字符“qwe”,当然咱们也能够增加自己的独有办法特点等,这儿就不再一一展现了,咱们知道怎么承继一个类即可。

编码风格

和其他言语根本一致,Python中的类名应选用驼峰命名法 ,即将类名中的每个单词的首字母都大写,而不运用下划线。实例名和模块名都选用小写格局,并在单词之间加上下划线。

关于每个类,都应紧跟在类界说后面包括一个文档字符串。这种文档字符串简要地描绘类的功能,并遵循编写函数的文档字符串时采 用的格局约好。每个模块也都应包括一个文档字符串,对其间的类可用于做什么进行描绘。