【Python基础篇】那些年错过的Python

随着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!")

运行程序结果如下所示。

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

函数

认识函数

函数是带名字的 代码块,用于完成具体的工作。要执行函数定义的特定任务, 可调用该函数。比如我们将上面的方法写在一个函数里面。代码如下所示。

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函数的声明还是非常简洁的。

导入函数

在实际项目开发中会有大量的函数,为了便于管理,我们通常会将函数放在单独的模块中我们也可以说放在单独的文件中,比如我们新建pys文件夹,在文件夹下创建sum.py文件,将上述定义的sum函数写在这个文件中,然后需要在main.py中调用这个方法,当前目录结构为

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

from pys.sum import sum_number

导入之后就可以在main.py中正常调用了。在导入外部模块函数的时候可能出现与当前模块冲突的情况,所以我们还可以使用 as 关键字给导入的函数指定别名,比如,我们将sum_number函数指定别名为add,调用代码如下所示。

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

同样的我们也可以给导入的模块指定别名,这里就不展示了。如果我们想要导入模块下的所有函数可以使用*,代码如下所示。

from pys.sum import *

类的定义

面向对象编程的单位就是类,我们都是有开发基础的,所以这里不说类是什么,我们看如何在Python中使用类。

我们创建一个Student类,用于记录Student的姓名、年龄,成绩等信息,创建出的Student类如下所示。

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

这里有几点需要注意的:

  • 这里的init方法相当于java中的构造方法
  • 形参self是必不可少的,在实例化Student类的时候会自动传入
  • get_core函数由于要访问属性,所以也要传入一个self形参,如果不需要则不用包含

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

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

运行程序如下图所示。

其他的如更改类属性等方法都与在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中的类名应采用驼峰命名法 ,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线。

对于每个类,都应紧跟在类定义后面包含一个文档字符串。这种文档字符串简要地描述类的功能,并遵循编写函数的文档字符串时采 用的格式约定。每个模块也都应包含一个文档字符串,对其中的类可用于做什么进行描述。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
​<

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

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

相关文章

实现DevOps需要什么?

实现DevOps需要什么&#xff1f; 硬性要求&#xff1a;工具上的准备 上文提到了工具链的打通&#xff0c;那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下&#xff1a; 代码管理&#xff08;SCM&#xff09;&#xff1a;GitHub、GitLab、BitBucket、SubV…

Notepad++:格式化json字符串(带转义)

目录 一、效果呈现 二、去除json字符串转义 三、格式化json字符串 一、效果呈现 格式化前 带字符串转义&#xff0c;带unicode编码字符 格式化后 二、去除json字符串转义 方法&#xff1a;采用Notepad的普通替换 第一&#xff1a;\"替换为" 第二&#xff1a;\\…

函数模板详解

大家好&#xff1a; 衷心希望各位点赞。 您的问题请留在评论区&#xff0c;我会及时回答。 一、函数模板 C另一种编程思想为&#xff1a;泛型编程&#xff0c;主要利用的技术就是模板。 C提供两种模板机制&#xff1a;函数模板、类模板 函数模板语法 函数模板作用&#xff…

Python6:Socket编程初步学习笔记

Socket协议概要 创建socket的时候&#xff0c;需要一些选项来说明本次使用协议具体是什么&#xff0c;常用的两个&#xff1a; 由此产生的不同组合&#xff1a; 但目前TCP(IPV4)是主流&#xff0c;SOCK_STREAMAF_INET 创建和使用Socket socket模块中有socket类&#xff1a…

QMT量化策略实盘(一)下单函数passorder

第一篇量化实盘的分享&#xff0c;从一定绕不开的综合下单函数passorder说起。 用于股票、期货、期权等下单和新股、新债申购、融资融券等交易操作。&#xff08;对比ptrade就不支持期货交易&#xff09; 这个函数功能很全&#xff0c;同时参数也比较多&#xff0c;在初次使用…

方格分割(蓝桥杯)

文章目录 方格分割题目描述答案&#xff1a;509思路dfs 方格分割 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 6x6的方格&#xff0c;沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。 如下就是三…

【vue3学习笔记(一)】vue3简介;使用vue-cli创建工程;使用vite创建工程;分析工程结构;安装开发者工具

尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 对应课程136-140节 课程 P136节 《vue3简介》笔记 课程 P137节 《使用vue-cli创建工程》笔记 官方文档&#xff1a; https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create官方文档地址 查看vue-cli版本&#x…

git配置密钥

要配置 Git 密钥&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.生成密钥&#xff1a;首先&#xff0c;在终端或命令提示符中运行以下命令生成密钥对&#xff1a; ssh-keygen -t rsa -b 4096 -C "dengweng-pulse.net"这将生成一个 RSA 密钥对&#xff0c;其中…

课堂行为动作识别数据集

一共8884张图片 xml .txt格式都有 Yolo可直接训练 已跑通 动作类别一共8类。 全部为教室监控真实照片&#xff0c;没有网络爬虫滥竽充数的图片&#xff0c;可直接用来训练。以上图片均一一手工标注&#xff0c;标签格式为VOC格式。适用于YOLO算法、SSD算法等各种目标检测算法…

http模块—http请求练习

题目要求&#xff1a;搭建如下http服务&#xff1a; 1.当浏览器向我们的服务器发送请求时&#xff0c;当请求类型是get请求&#xff0c;请求的url路径地址是/login。响应体结果是登录页面 2.当浏览器向我们的服务器发送请求时&#xff0c;当请求类型是get请求&#xff0c;请求…

【FIneBI可视化工具的使用】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;书生♡&#xff0c;今天主要和大家分享一下可视化的工具FineBI的详细使用,希望对大家有所帮助。感谢大家关注点赞。 &#x1f49e;&#x1f49e;前路漫漫&#xff0c;希望大家坚持下去&#xff0c;不忘初心&…

【解决】CameraPath3 事件回调异常

开发平台&#xff1a;Unity 2021.3.7f1c1 编程平台&#xff1a;Visual Studio 2022 编程语言&#xff1a;CSharp 6.0 三方工具&#xff1a;CameraPath3   工具简述 在 2019年官方停止版本维护&#xff0c;不再支持 URP 等新版本。而实际业务要求继续使用该开发工具。   问题…

Java代码基础算法练习-求一个三位数的各位数字之和-2024.03.27

任务描述&#xff1a; 输入一个正整数n&#xff08;取值范围&#xff1a;100<n<1000&#xff09;&#xff0c;然后输出每位数字之和 任务要求&#xff1a; 代码示例&#xff1a; package M0317_0331;import java.util.Scanner;public class m240327 {public static voi…

瓦楞板一体化污水处理设备怎么选型

瓦楞板一体化污水处理设备的选型是一个重要而复杂的过程。在选择适合的设备前&#xff0c;我们需要考虑以下几个因素&#xff1a;污水性质、处理效果、处理能力、设备性能和成本等。本文将从这几个方面为您介绍瓦楞板一体化污水处理设备的选型方法。 首先&#xff0c;污水性质是…

计算机网络基础——网络安全/ 网络通信介质

chapter3 网络安全与管理 1. 网络安全威胁 网络安全&#xff1a;目的就是要让网络入侵者进不了网络系统&#xff0c;及时强行攻入网络&#xff0c;也拿不走信息&#xff0c;改不了数据&#xff0c;看不懂信息。 事发后能审查追踪到破坏者&#xff0c;让破坏者跑不掉。 网络…

Django 评论楼创建

Django 评论楼创建 【零】最终效果预览 【一】介绍 &#xff08;1&#xff09;情况说明 在Django模型层中有这么个字段 parent models.ForeignKey(toself, on_deletemodels.CASCADE, verbose_name"父评论ID", nullTrue, blankTrue)这个字段是一对多的外键字段 其…

07、JS实现:用回溯法实现数组全排列的算法(一步一步剖析,很详细)

回溯法实现数组全排列的算法 Ⅰ、回溯法实现数组全排列&#xff1a;1、题目描述&#xff1a;2、解题思路&#xff1a;3、实现代码&#xff1a; Ⅱ、小结&#xff1a; Ⅰ、回溯法实现数组全排列&#xff1a; 1、题目描述&#xff1a; 给定⼀个 没有重复 数字的序列&#xff0c;…

flowable-ui后台显式非中文

把flowable-ui的war包发布后&#xff0c;后台界面显示的是非中文 用的是6.7.2版本&#xff0c;经过了解该版本是有国际化配置文件的&#xff0c;支持中文 猜测可能是浏览器语言导致未显示中文&#xff0c;在控制台输入navigator.language&#xff0c;查看到果然是英文 解决方案…

如何制作蛋糕店小程序_开启您的蛋糕店小程序之旅

甜蜜滋味&#xff0c;一触即达——开启您的蛋糕店小程序之旅 在这个快节奏的时代&#xff0c;人们对美食的追求从未停歇。尤其是那些色香味俱佳、口感细腻的蛋糕&#xff0c;更是成为了许多人生活中的小确幸。然而&#xff0c;忙碌的工作和生活常常让我们无法亲自前往蛋糕店&a…

大型网络游戏设计与AI赋能-6

接上文&#xff01;&#xff01;! 所以最后我们会有一个Game design的分析。这个分析主要是在游戏类型&#xff0c;最后这个游戏会发布在什么平台上&#xff0c;游戏的玩法具体是什么样子的&#xff0c;需要提供给玩家哪些比较特殊的玩家体验等等。列出来这4项是一定要去考虑的…