Python入门(二)变量和简单数据类型(一)

news2024/11/25 0:39:02

变量和简单数据类型(一)

  • 1.变量
    • 1.1 变量的命名和使用
    • 1.2 变量其实是标签
  • 2.字符串
    • 2.1 使用方法修改字符串的大小写
    • 2.2 在字符串中使用变量
  • 2.3 使用制表符或换行符来添加空白
  • 2.3 使用字符串时应该避免的错误

作者:Xiou

1.变量

下面来尝试在前面的案例hello_world.py中使用一个变量。

在这个文件开头添加一行代码,并对第二行代码进行修改,如下所示:hello_world.py

message = "Hello Python world!"
print(message)

运行这个程序,看看结果如何。你会发现,输出与以前相同:

输出结果:

在这里插入图片描述

这是因为我们添加了一个名为message的变量。
每个变量都指向一个值——与该变量相关联的信息。在这里,指向的值为文本"HelloPython world!"。添加变量导致Python解释器需要做更多工作。
处理第一行代码时,它将变量message与文本"Hello Python world!"关联起来;处理第二行代码时,它将与变量message关联的值打印到屏幕。

下面来进一步扩展这个程序:修改hello_world.py,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加下面两行代码:

message = "Hello Python world!"
print(message)

message = "Hello Python Crash Course world!"
print(message)

现在如果运行这个程序,将看到两行输出:

在这里插入图片描述

在程序中可随时修改变量的值,而Python将始终记录变量的最新值。

1.1 变量的命名和使用

▲ 变量名不能包含空格,但能使用下划线来分隔其中的单词。
▲ 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
▲ 变量名应既简短又具有描述性。
▲ 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着编写的程序越来越多,并开始阅读别人编写的代码,你将越来越善于创建有意义的变量名。

谨记:使用变量时避免命名错误。

1.2 变量其实是标签

变量常被描述为可用于存储值的盒子。在你刚接触变量时,这种定义可能很有帮助,但它并没有准确描述Python内部表示变量的方式。一种好得多的定义是,变量是可以赋给值的标签,也可以说变量指向特定的值。

刚学习编程时,这种差别可能意义不大,但越早知道越好。你迟早会遇到变量的行为出乎意料的情形,此时如果对变量的工作原理有准确的认识,将有助于搞清楚代码是如何运行的。

2.字符串

字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下所示:

"This is a string."
'This is also a string.'

如下是使用字符串的实例:

2.1 使用方法修改字符串的大小写

对于字符串,可执行的最简单的操作之一是修改其中单词的大小写。请看下面的代码,并尝试判断其作用:

name = "ada lovelace"
print(name.title())

输出结果:

在这里插入图片描述

在这个示例中,变量name指向小写的字符串"ada lovelace"。在函数调用print()中,方法title()出现在这个变量的后面。方法是Python可对数据执行的操作。

在name.title()中,name后面的句点(.)让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对圆括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在圆括号内提供的。函数title()不需要额外的信息,因此它后面的圆括号是空的。

方法title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,因为你经常需要将名字视为信息。例如,你可能希望程序将值Ada、ADA和ada视为同一个名字,并将它们都显示为Ada。

还有其他几个很有用的大小写处理方法。例如,要将字符串改为全部大写或全部小写,可以像下面这样做:

name = "Ada Lovelace"
print(name.upper())#将字符串转换成大写
print(name.lower())#将字符串转换成小写

存储数据时,方法lower()很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。以后需要显示这些信息时,再将其转换为最合适的大小写方式。

2.2 在字符串中使用变量

在有些情况下,你可能想在字符串中使用变量的值。例如,你可能想使用两个变量分别表示名和姓,然后合并这两个值以显示姓名:

  first_name = "ada"
  last_name = "lovelace"
  full_name = f"{first_name} {last_name}"
  print(full_name)

要在字符串中插入变量的值,可在前引号前加上字母f,再将要插入的变量放在花括号内。这样,当Python显示字符串时,将把每个变量都替换为其值。
这种字符串名为f字符串。f是format(设置格式)的简写,因为Python通过把花括号内的变量替换为其值来设置字符串的格式。

输出结果:

在这里插入图片描述

使用f字符串可完成很多任务,如利用与变量关联的信息来创建完整的消息,如下所示:

  first_name = "ada"
  last_name = "lovelace"
  full_name = f"{first_name} {last_name}"
  print(f"Hello, {full_name.title()}!")

在这里,一个问候用户的句子中使用了完整的姓名,并使用方法title()来将姓名设置为合适的格式。这些代码显示一条格式良好的简单问候语:

Hello, Ada Lovelace!

2.3 使用制表符或换行符来添加空白

在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可以使用空白来组织输出,让用户阅读起来更容易。要在字符串中添加制表符,可使用字符组合\t,如下述代码所示:

  >>> print("Python")
  Python
  >>> print("\tPython")
      Python

要在字符串中添加换行符,可使用字符组合\n:

>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C
JavaScript

当然还可在同一个字符串中同时包含制表符和换行符。字符串"\n\t"让Python换到下一行,并在下一行开头添加一个制表符。

2.3 使用字符串时应该避免的错误

语法错误是一种你时不时会遇到的错误。程序中包含非法的Python代码时,就会导致语法错误。例如,在用单引号括起的字符串中,如果包含撇号,就将导致错误。这是因为这会导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而引发错误。

下面演示了如何正确地使用单引号和双引号:

message = "One of Python's strengths is its diverse community."
print(message)

撇号位于两个双引号之间,因此Python解释器能够正确地理解这个字符串:

One of Python's strengths is its diverse community.

然而,如果使用单引号,Python将无法正确地确定字符串的结束位置:

message = 'One of Python's strengths is its diverse community.'
print(message)

错误输出结果:

在这里插入图片描述

学习编写Python代码时,你可能会经常遇到语法错误。语法错误也是最不具体的错误类型,因此可能难以找出并修复。受困于非常棘手的错误时,可以寻求外部帮助。

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

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

相关文章

System verilog【1】基础语法和数据类型+容器+结构体+不可综合的数据类型

前言 某种事情是不可能重新复原的,只能向前推进……不管什么地方,两人能去哪里就去哪里好了——《国境以南太阳以西》 \;\\\;\\\; 目录 前言内建数据类型reg和wire和logiclogic和bit四值和二值类型位宽类型转换隐式转换 常见数据类型定宽数组动态数组pa…

在Transformer模块上用CNN网络搭建方式解决图像分类问题

来源:投稿 作者:摩卡 编辑:学姐 论文标题:DeepViT: Towards Deeper Vision Transformer Motivation 本文受到传统CNN网络搭建方式的启发(深层的CNN网络可以学习到关于图像更加丰富和复杂的表示), 于是思考是否可以将这种搭建方式…

我的“测试开发”成长之路

我相信,有很多测试人员会不断问自己,自己到底要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼&#xff0…

Sketch会不会出windows版本?

Sketch会不会出windows版本?Sketch 可以在线编辑吗?先说结论,不能。 但有一个更好用易用的 Windows 也能用的「协作版 Sketch」,最大的特点3个:在线、免费、Windows也能用! Windows 也能用的「协作版 Ske…

JavaScript全解析——canvas 入门(上)

●canvas 是 HTML5 新增的一个标签, 表示画布 ●canvas 也是 h5 的画布技术, 我们通过代码的方式在画布上描绘一个图像 canvas 标签 ●向进行 canvas 绘图, 首先我们先要了解到 canvas 标签 ●是 html5 推出的一个标签 <html> <head>... </head> <body&…

mysql详细教程

目录 1、初识数据库 1.1、什么是数据库 1.2、数据库分类 1.3、相关概念 1.4、MySQL及其安装 1.5、基本命令 2、操作数据库 2.1、操作数据库 2.2、数据库的列类型 2.3、数据库的字段属性 2.4、创建数据库表 2.5、数据库存储引擎 2.6、修改数据库 3、MySQL数据管理…

基于numpy的鸢尾花数据获取、处理等操作。

这是搬运的。 Python 3 可信的 FileEditViewInsertCellKernelHelp 运行 代码标记原生 NBConvert标题- 《基于numpy的鸢尾花数据操作》 一、 实验准备 1.1 实验概述 我们本次实验将会使用的编程语言是Python&#xff0c;在本次实验当中我们将会使用结合我们学习过的numpy 中的知…

SPSS如何进行判别分析之案例实训?

文章目录 0.引言1.一般判别分析2.逐步判别分析3.决策树分析 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对判别分析进行阐述。 1…

Mysql Sql 优化之 Explain

在开发中&#xff0c;往往遇到一些慢查询语句&#xff0c; 我们需要对慢查询进行优化。Explain工具就是用来分析某个慢查询执行情况的工具。通过在select 语句前加上explain 关键字&#xff0c;然后执行就会得到某个sql 执行计划信息&#xff0c;通过分析执行计划&#xff0c;我…

JavaWeb:JavaScript 教程 笔记

1 JavaScript html完成了架子&#xff0c;css做了美化&#xff0c;但是网页是死的&#xff0c;我们需要给他注入灵魂&#xff0c;所以接下来我们需要学习JavaScript&#xff0c;这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过代码/js效果演示提供资料进行效果演…

SettingsProvider单编生效

SettingsProvider单编生效 1、单编SettingProvider, make SettingsProvider&#xff0c;会生成apk&#xff0c;apk的路径为&#xff1a; product/qssi/system/priv-app/SettingsProvider/2、将手机恢复出厂设置&#xff0c;在过google向导之前 3、删除SettingProvider对应的…

【Redis】Redis分布式锁的10个坑

文章目录 前言1. 非原子操作&#xff08;setnx expire&#xff09;2.被别的客户端请求覆盖&#xff08; setnx value为过期时间&#xff09;3. 忘记设置过期时间4. 业务处理完&#xff0c;忘记释放锁5. B的锁被A给释放了6. 释放锁时&#xff0c;不是原子性7. 锁过期释放&…

复杂系统层级原理与模型驱动软件体系结构

最近看到模型驱动在国内渐渐被更多的人注意&#xff0c;前几天又看到一些关于UML优劣和应用方面的争论。作为繁忙工作中的一种休息&#xff0c;从过往的研究笔记中整理一点东西放在这里&#xff0c;与大家交流。 层级理论是构建复杂软件体系的基本原则 诺贝尔奖获得者赫伯特 A.…

RocketMQ第三节(生产者和消费者)

目录 1&#xff1a;生产者&#xff08;同步、异步、单向&#xff09; 1.1&#xff1a;同步发送消息&#xff08;每发送一条等待mq返回值&#xff09; 1.2&#xff1a;异步发送消息 1.3&#xff1a;单向发送消息&#xff08;不管成功失败&#xff0c;只管发送消息&#xff09…

学会以下几点,拍出人像大片很简单

很多人拍照&#xff0c;都是用手机拍的&#xff0c;虽然手机的摄影功能并没有相机那么齐全&#xff0c;但我们依然可以借助一些技巧拍出美美的照片&#xff0c;下面是为大家整理出了一份手机拍照指南&#xff0c;拍出人像大片很简单。 1、捕捉光影 光影是拍照的重要元素之一&…

【Unity编辑器】拓展Inspector视图

目录 1、拓展源生组件 2、拓展继承组件 3、组件不可编辑 4、Context菜单 1、拓展源生组件 摄像机就是典型的源生组件。它的局限性就是拓展组件只能加在源生组件的最上面或者最下面&#xff0c;不能插在中间&#xff0c;不过这样也就够了 using UnityEngine; using UnityEd…

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台

目录 平台简介 环境准备 Jenkins简介 下载与安装 平台搭建 依赖文件配置 build.xml配置 Ant构建 阿里大佬倾情演绎&#xff0c;3天让你学会Jmeter接口测试&#xff0c;学不会算我输_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Q84y1K7bK/?spm_id_from333.99…

如何设置渗透测试实验室

导语&#xff1a;在本文中&#xff0c;我将介绍设置渗透实验室的最快方法。在开始下载和安装之前&#xff0c;必须确保你使用的计算机符合某些渗透测试的要求&#xff0c;这可以确保你可以一次运行多个虚拟机而不会出现任何问题。 在本文中&#xff0c;我将介绍设置渗透实验室的…

Python | 人脸识别系统 — 用户操作

本博客为人脸识别系统的摄像头画面展示代码解释 人脸识别系统博客汇总&#xff1a;人脸识别系统-博客索引 项目GitHub地址&#xff1a; 注意&#xff1a;阅读本博客前请先参考以下博客 工具安装、环境配置&#xff1a;人脸识别系统-简介 UI界面设计&#xff1a;人脸识别系统-UI…

错题汇总03

1.以下对二维数组a进行正确初始化的语句是 A int a[2][]{{0,1,2},{3,4,5}} B int a[][3]{{0,1,2},{3,4,5}} C int a[2][4]{{0,1,2},{3,4},{5}}; D int a[][3]{{0,,2},{},{3,4,5}} A数组列不能省略 C数组越界 D数组初始化每一行必须连续初始化 2.能把函数处理结果的二个数据…