Python-初识Python

news2024/11/24 4:30:59
  • 前言:在这篇博客当中,我们将步入Python知识的殿堂,Python以其简单、易学、开发效率高在近些年的发展可谓是迅猛,在许多领域都可以见到它的场景,例如:人工智能/机器学习、大数据开发、后端开发等都会用到。

1.认识Python 

1.1 什么是编程语言

Python和我们的C语言一样也是一门编程语言,那何为编程语言呢?

  • 所谓编程语言就是我们和计算机进行交流的一种语言工具,计算机是听不懂我们的语言,它只能识别0和1的二进制代码,但是只有编程语言计算机还是执行不了我们想要的功能,需要一个翻译工具(解释器或编译器)将代码翻译成二进制,那么此时我们就可以与计算机进行通畅的交流了。在C语言中我们所使用的VS编译器也是这样的道理。

1.2 第一个Python程序

 使用Python语言,向世界说你好。

print("hello world!")

1.3 编写Python所使用的工具

使用Python编程语言需要Python解释器来使我们的程序变成计算机所能读懂的二进制代码,从而和计算机进行交流,但仅仅一个Python解释器进行编写Python代码还是比较不方便,我们还需要一个PyCharm这样一个集成开发环境,这样我们编写程序会很方便。以下是PyCharm的一些快捷键:

ctrl+ alt + s:打开软件设置                                            shift +f6:重命名文件    
ctrl+d:复制当前行代码                                                 ctrl+a:全选
shift +alt+上下:将当前行代码进行上下移动                 ctrl+c\v\x:复制、粘贴、剪切
crtl+ shift +f10:运行当前代码文件                                ctrl+f:搜索

2.Python基础语法

2.1 字面量

字面量:在代码中,被写下来的的固定的值称之为字面量

2.2 注释

注释:在程序代码中对程序代码进行解释说明的文字。

作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。

注释的分类:

  • 单行注释:以#开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用,注意:(1)与C语言代码的区别C语言代码的注释是以//为开头(2)#号和注释内容一般建议以一个空格隔开。
  • 多行注释:以 一对三个双引号引起来 ("""注释内容""")来解释说明代码

2.3 变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念 。

变量的定义格式:变量名 =变量值

变量的特征:变量的值可以改变

 2.4 数据类型

常用的数据类型:

type()语句:我们可以通过type()语句来得到数据的类型,type(被查看类型的数据)

使用方式有以下几种:

  • 在print语句中,直接输出类型信息
  • 用变量存储type()的结果 (返回值) 
  • 查看变量中存储的数据类型信息
print(type(666))
int_type = type(666)
print(int_type)
num = 666
print(type(num))

 这里需要注意在python语言中变量有类型吗?

  • 答案是没有的,这里需要与C语言相区分开来,如:我们可能会说:字符串变量,但要知道不是变量是字符串,而是它存储了字符串。

2.5 数据类型转换 

为什么要进行类型转换呢? 事实上我们在很多场合当中都会运用到类型转换,例如:

  • 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
  • input()语句,默认结果是字符串,若需要数字也需要转换
  • 将数字转换成字符串用以写出到外部系统

如何进行数据类型转换呢? 下面介绍一些常见的数据类型转换的语句:

这里需要注意几个问题:

  • 任何类型都可以转换成字符串吗?这个答案是肯定的,所有字符带上""就是字符串
  • 字符串可以随意转换成数字吗?答案是否定的,想要将字符串转换成数字,必须要求字符串内的内容都是数字。
  • 浮点数转整数会丢失什么?会丢失精度,丢掉小数部分

2.6 标识符  

标识符:是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名 。

在python中标识符是不可以随便命名的,它有以下规则:

1)内容限定。 2)大小写敏感。 3)不可使用关键字。

  • 内容限定:英文、中文、数字、下划线 (_) ,其余任何内容都不被允许。注意:数字不可以开头
  • 大小写敏感:假如命名变量:Book,book,它们是不同的变量。
  • 不可使用关键字:这点和C语言类似,每个关键字都有它特殊的功能,不能被占用。 

变量的标识符命名规范:1)见名知意 、2)下划线命名法 、3)英文字母全小写 

2.7 运算符 

算术运算符:

赋值运算符:

复合赋值运算符: 

2.8 字符串扩展 

字符串的三种定义方式

  • 1)单引号定义法:name = '张三'
  • 2)双引号定义法:name = "张三"
  • 3)三引号定义法:name = """张三"""

注意:如果我想要定义的字符串本身是包含单引号、双引号自身呢?

答案:

  • 单引号定义法,可以内含双引号
  • 双引号定义法,可以内含单引号
  • 可以使用转移字符 (\)来将引号解除效用,变成普通字符串

字符串拼接

使用+就可以实现这个功能。注意:简单的拼接只能是字符串与字符串进行拼接。

这里就会遇到这样的问题,我要是让字符串和数字进行拼接到一块怎么办?此时就会用到接下来的知识点叫做字符串格式化。 

字符串格式化

字符串格式化的语法:

name = "张三"
age = 15
message = "%s年龄是: %d" % (name, age)
print(age)

其中:%s:1)% 表示:我要占位。 2)s  表示:将变量变成字符串放入占位的地方

所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置。%d也是同样的道理。注意:多个变量占位变量要用括号括起来并按照占位的顺序填入。

其中格式符号与C语言是相类似的:

字符串格式化的精度控制

我们可以使用辅助符号"m.n"来控制数据的宽度和精度:

  • m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
  • .n,控制小数点精度,要求是数字,会进行小数的四舍五入

看如下例子:

  • %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度
  • %5.2f:表示将宽度控制为5,将小数点精度设置为2,小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35
  • %.2f: 表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35

下面讲述一个快速格式化的方法: 

 通过语法:f“内容{变量}”的格式来快速格式化。看如下例子:

name = "张三"
age = 15
print(f"我是{name}, 我的年龄是:{age}")

表达式的格式化

直接上代码:

print("张三的年龄是:%d" % (4*4))
print("张三的年龄是:(4*4)" )

2.9 数据输入

input语句:它的功能相当于C语言当中的scanf语句,是从键盘当中读取输入,不过它的使用比较简单,直接input()就可以。需要注意以下几点:

  • 在input的括号内可以直接填写提示内容,这些内容会被打印下来。
  • 无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型,因此如果我们想要得到整型数据,就需要进行数据类型转换。
name = input("请输入你的名字:")
age = int(input("请输入你的年龄:"))

print("我是%s, 我的年龄是:%d" %(name, age))
print(f"我是{name}, 我的年龄是:{age}")

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

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

相关文章

仕考网:公务员国考有三不限岗位吗?

国家公务员考试中的“三不限”岗位,即不限制专业背景、政治面貌、基层工作经验的职位。在国考中,是有的但是数量比较少。 这些岗位主要集中在省级及以下单位,以民航空警和铁路公安为主。其中,有一半的职位是面向四项目人员&#…

基于STM32的蓝牙音乐播放器设计

引言 本项目将基于STM32微控制器设计一个简易的蓝牙音乐播放器,通过蓝牙模块接收手机的音乐信号,并使用音频解码芯片播放音乐。该项目展示了STM32在嵌入式音频处理与蓝牙通信方面的应用。 环境准备 1. 硬件设备 STM32F103C8T6 开发板(或其…

基于Java,SpringBoot,Vue智慧校园健康驿站体检论坛请假管理系统

摘要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差&#xf…

持续更新:当前最好用的AI 编程工具,Cursor 编程指南

本文持续更新,敬请期待更多内容。 文章目录 这一次,AI真懂你的代码关注该关注的,忽略该忽略的1. 创建.cursorignore文件2. 重新索引代码库 参考资料 这一次,AI真懂你的代码 如果你偶尔关注一些AI编程相关的内容,想必你…

介绍多环境开发-分组(springboot-profile)

背景 在使用 Spring Boot 进行开发时,多环境配置是一项非常常见的需求。通常,我们会在开发、测试、生产等不同环境下部署同一个应用程序,而这些环境可能需要不同的配置,例如数据库连接、日志级别等。Spring Boot 通过 profile&am…

python交互式命令时如何清除

在交互模式中使用Python,如果要清屏,可以import os,通过os.system()来调用系统命令clear或者cls来实现清屏。 [python] view plain copy print? >>> import os >>> os.system(clear) 但是此时shell中的状态是:…

windows的一些容易忽视的使用记录

文章目录 快捷键更改电脑名字共享文件夹添加新账号(本地的)更改快捷访问 以下都基于 win 10。 快捷键 win I 直接打开设置。 win R 打开运行栏。这个非常常用。 更改电脑名字 先 win I 打开设置,然后点击系统。 左侧栏拉到最下面&…

Android开发高级篇:MVVM框架与数据双向绑定

在Android开发中,MVVM(Model-View-ViewModel)架构模式以其高效、简洁的特点,成为越来越多开发者的首选。MVVM不仅实现了界面(UI)与业务逻辑的分离,还通过数据双向绑定技术,极大地简化…

iterator的使用+求数组中的第n大值+十大经典排序算法

目录 一、iterator的用法 二、求一个数组中的第n大值(n为2或者3) 1、求一个数组中的第二大值(不能使用排序) 2、求一个数组中的第三大值(不能使用排序) 三、冒泡排序 1、基本思想 2、代码实现 3、存…

AQS原理(AbstractQueuedSynchronizer)

本篇为 [并发与多线程系列] 的第四篇,对应Java知识体系脑图中的 并发与多线程 模块。 这一系列将对Java中并发与多线程的内容来展开。 AQS原理(AbstractQueuedSynchronizer) AQS原理(AbstractQueuedSynchronizer)AQS整…

java解决跨域问题时的403报错

什么是跨域问题? 当一个请求的url的协议,域名,端口三者之间任意一个与当前页面url不同 即为跨域 问题背景: 如图,前端端口为8090,而后端端口为8099,形成跨域,无法对接 试图利用Spr…

【MySQL面试高频误区】不可重复读和幻读到底有哪些区别?

欢迎关注公众号 【11来了】 ,持续 MyBatis 源码系列内容! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址:点击查看文章导读! 感谢你的关注&#xff…

zotero使用koofr+google drive/onedrive同步

最早了解到这个思路是来自 知乎-【从零开始使用Zotero】(3) Zotero文献同步方式 和 How to Sync Zotero Files Using WebDAV and Google Drive with Koofr: A Step-by-Step Guide 虽然周围很多人都在用Readpaper这种web端的了,但是经常逛Arxiv而且zotero的web插…

论文翻译 | Language Models are Few-Shot Learners 语言模型是少样本学习者(下)

6 更广泛的影响 语言模型对社会有着广泛的有益应用,包括代码和写作自动补全、语法辅助、游戏叙事生成、提高搜索引擎响应以及回答问题等。但它们也可能有潜在的危害性应用。GPT-3在文本生成质量和适应性方面优于较小的模型,并且增加了区分合成文本与人类…

使用GitLab CI构建持续集成案例

1. 部署GitLab (1)基础准备 解压软件包并导入镜像: [rootmaster ~]# curl -O http://mirrors.douxuedu.com/competition/Gitlab-CI.tar.gz [rootmaster ~]# tar -zxvf Gitlab-CI.tar.gz [rootmaster ~]# ctr -n k8s.io image import gitla…

408 笔记错题本

数据结构 树 线索二叉树 组成原理 第五章 计组 SISD 一两个指令和数据 不能采用数据并行技术,但是可以采用流水线技术,计组这门课 就是讨论的是SISD这个概念。 SIMD 应用:浮点机、向量处理机、优化for循环。 MISD 这个理论上是不存在…

考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)

考研论坛平台小程序 目录 基于java和微信小程序的考研论坛平台小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂…

华为资源分享

紫光云文档中心提供弹性计算服务文档https://www.unicloud.com/document/product/ElasticComputeService/index.html报文格式华为报文格式资料Info-Finder(在线工具) 报文格式华为IP网络电子书华为IP网络相关电子书IP网络系列丛书 - 华为企业业务华为产品…

[云] DockerCoins 练习笔记

DockerCoins DockerCoins 由 5 个服务组成 rng (随机数生成器): 这是一个Web服务,它的任务是生成随机字节。随机字节通常用于加密、安全令牌生成、测试等场景。 hasher (哈希计算器): 这个服务接收数据(通常是通过POST请求发送的数据)&#…

202408第十五届蓝桥杯青少组省赛C++中级组题解

202408第十五届蓝桥杯青少组省赛C++中级组题解 单选题 1、定义 char a[]="hello\nworld",执行 cout<<a,输出结果是(B) A、helloworld B、hello world C、 hellonworld D、 hello\nworld 解析:\n输出时会换行。 2、 的结果是(C)。 A、 B、