python基础----02-----字面量、变量、数据类型及其转换、标识符以及字符串、数据输入(input语句)

2023-11-16

一 字面量

1 字面量

  • 字面量:在代码中,被写下来的的固定的值称之为字面量。类似C/C++的字符串常量。

1.1 常见的python值类型

Python中常见的值类型:
在这里插入图片描述
实际上在C/C++字面量和这里的类型还是有区别的,体现在内存存储中,字面量存储在代码区Text的只读存储区,而基本数据类型存储在栈上面。see C/C++2019秋招面试题集合05

1.2 字符串

  • 字符串(string) ,又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串。

Python中,字符串需要用双引号(“xxx”)包围起来。

if __name__ == '__main__':
    a = 666
    b = 3.14
    c = "零基础,学Python"
    print(a)
    print(b)
    print(c)
    print(666)   #同样也是字面量
    print(3.14)  #同样也是字面量
    print("零基础,学Python, 月薪过万,就来黑马程序员。")  #同样也是字面量

1.3 字面量总结

在这里插入图片描述

二 注释

2.1 注释的分类

  1. 单行注释:以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。
if __name__ == '__main__':
    # 我是一个单行注释
  1. 多行注释:以一对三个单双引号引起来(’ ’ ‘注释内容’ ’ ’ )(" " " 注释内容" " ")来解释说明一段代码的作用使用方法。
if __name__ == '__main__':
    '''
    我
    是
    多
    行
    注
    释
    '''
#或者
    """
    我
    是
    多
    行
    注
    释
    """

注释是代码中的解释型语句,用来对代码内容进行注解。注释不是代码,不会被程序执行。

三 变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的。

在这里插入图片描述

if __name__ == '__main__':
    a = 666
    print("钱包还有:",a,"元")

四 数据类型

在学习字面量的时候,我们了解到:数据是有类型的。

目前在入门阶段,我们主要接触如下三类数据类型:
在这里插入图片描述

如何查看验证数据类型?
答案是使用type()函数,通过type()的返回值我们可以知道变量的数据类型。

if __name__ == '__main__':
    a = 666
    b = type(a)
    print(type(666))
    print(type(a))
    print(b)
    print(type("a"))
    '''
    输出:
	<class 'int'>
	<class 'int'>
	<class 'int'>
	<class 'str'>
    '''

变量有类型吗?我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?

查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。
在这里插入图片描述
在这里插入图片描述

五 数据类型转换

数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等。那么,我们为什么要转换它们呢?

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

if __name__ == '__main__':
    a = 666
    b = "666"
    c = 66.6

    print(type(a))
    print(type(b))
    print(type(c))
    b = int(b)
    a = float(a)
    d = str(a)
    print(type(b))
    print(type(a))
    print(type(d))
    """
    <class 'int'>
	<class 'str'>
	<class 'float'>
	<class 'int'>
	<class 'float'>
	<class 'str'>
	"""

想把字符串转换成数字,必须确保字符串里都是数字,否则会报异常,例如mynum = int(“你好”)会报异常。
在这里插入图片描述

六 标识符

6.1 什么是标识符?

在Python程序中,我们可以给很多东西起名字,比如:

  1. 变量的名字。
  2. 方法的名字。
  3. 类的名字。
  4. 等等。

这些名字,我们把它统一的称之为标识符,用来做内容的标识。所以标识符作用:是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。

6.2 标识符命名规则

  1. 组成部分:英文,中文(不推荐),数字(不可以用在开头),下划线(_)。
  2. 大小写敏感。
  3. 不可使用关键字。

python常见关键字。
在这里插入图片描述

七 运算符

7.1 算术(数学)运算符

在这里插入图片描述

if __name__ == '__main__':
    # 算术(数学)运算符
    print("1 + 1 = ",1 + 1)    #2
    print("2 - 1 = ",2 - 1)    #1
    print("3 * 3 = ",3 * 3)    #9
    print("11/ 2 = ",11 / 2)   #5.5
    print("11//2 = ",11 // 2)  #5
    print("9 % 2 = ",9 % 2)    #1
    print("2** 3 = ",2 **3)    #8

7.2 赋值运算符

在这里插入图片描述

7.3 复合赋值运算符

在这里插入图片描述

if __name__ == '__main__':
    # 复合赋值运算符
    a = 11
    a +=1
    print("a += 1 : ", a)    #12
    a -=1
    print("a -= 1 : ",a)    #11
    a *= 2
    print("a *= 2 : ",a)    #22
    a /= 2
    print("a /= 2 : ",a)    #11.0
    a **= 2
    print("a **= 2 : ",a)    #121.0
    a //= 2
    print("a //= 2 : ",a)    #60.0
    a %= 3.3
    print("a %= 3.3 : ",a)    #0.6000000000000032

在这里插入图片描述

八 字符串三种定义方式

8.1 字符串三种定义方式

三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,它就是字符串,不使用变量接收它,就可以作为多行注释使用。
在这里插入图片描述

8.2 字符串的引号嵌套

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

在这里插入图片描述

if __name__ == '__main__':
    a = "'你好'"
    b = '"你好"'
    c = "\'你好\'"
    d = '\"你好\"'
    print(a)
    print(b)
    print(c)
    print(d)

在这里插入图片描述

九 字符串的拼接

如果我们有两个字符串(文本)字面量,可以将其拼接成一一个字符串,通过+号即可完成,如:

if __name__ == '__main__':
    print("你好"+ "世界")
    a = "你好"
    print(a+ "世界")

在这里插入图片描述

十 字符串格式化

我们可以通过以下语法,完成字符串和变量的快速拼接,实际上是利用是字符串的格式化。
语法:

变量 = "xxx %s" % 变量

%s:%表示我要占位,s表示要放的内容是字符串。所以%s表示我后续将一个变量的内容放到%s占位符的位置。

例如:

name = "张三"
student1 = "我的名字叫 %s, 来自广东" % name
print(student1)

在这里插入图片描述

常见占位符:
在这里插入图片描述

十一 字符串格式化的精度控制

我们可以用 m.n 来控制数据的宽度与精度。

  1. m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效。
  2. n,控制小数点精度,要求是数字,会进行小数的四舍五入。
if __name__ == '__main__':
    num1 = 11
    num2 = 11.345
    print("数字11宽度限制5,结果:%5d" % num1)
    print("数字11宽度限制1,结果:%1d" % num1)
    print("数字11.345宽度限制7,小数精度2,结果:%7.2f" % num2)
    print("数字11.345不限制宽度,小数精度2,结果:%.2f" % num2)
    """
    数字11宽度限制5,结果:   11
    数字11宽度限制1,结果:11
    数字11.345宽度限制7,小数精度2,结果:  11.35
    数字11.345不限制宽度,小数精度2,结果:11.35
    """

十二 字符串格式化的方式2

通过语法: f"内容{变量}"的格式来快速格式化。这种方式不理会类型,也不做精度控制,会原样输出。

f 的作用就是告诉电脑,我这里面会有占位符。

if __name__ == '__main__':
    num1 = 11
    num2 = 11.345
    print(f"结果: {num1},结果: {num2}")
    

在这里插入图片描述

在这里插入图片描述

十三 对表达式进行格式化

表达式:一条具有明确执行结果的代码语句。

if __name__ == '__main__':
    print("1 * 1的结果是: %d" % (1 * 1))
    print(f"1 * 2的结果是: {1*2}")
    print("字符串在Python中的类型名是: %s" % type("字符串"))

    '''
    1 * 1的结果是: 1
    1 * 2的结果是: 2
    字符串在Python中的类型名是: <class 'str'>
    '''

在这里插入图片描述

十四 字符串格式化练习题讲解

在这里插入图片描述

if __name__ == '__main__':
    name = "传智播客"
    stock_price = 19.99
    stock_code = "003032"
    stock_price_growth_factor = 1.2
    grow_days = 7
    finally_stock_price = stock_price*stock_price_growth_factor**grow_days
    print(f"公司: {name}, 股票代码: {stock_code}, 当前股价: {stock_price}")
    print("每日增长系数: %2.1f,经过%d天的增长后,股价达到了: %.2f" % (stock_price_growth_factor, grow_days, finally_stock_price))

    '''
    公司: 传智播客, 股票代码: 003032, 当前股价: 19.99
	每日增长系数: 1.2,经过7天的增长后,股价达到了: 71.63
    '''

在这里插入图片描述

十五 数据输入(input语句)

获取键盘输入——利用input语句完成。

我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。
在Python中,与之对应的还有一个input语句,用来获取键盘输入。

if __name__ == '__main__':
    # 1.
    print("please tell me your name!")
    name = input()
    print("ok,your name is " + name)
    # 2. 等价于方式1
    name = input("please tell me your name!")
    print("ok,your name is " + name)
    # 3.
    age = input("please tell me your age!")
    print("ok,your age is " + age)
    print("type: ", type(age))

依次输入:张三,李四,18,中间各自按下enter键后,得到如下结果:
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python基础----02-----字面量、变量、数据类型及其转换、标识符以及字符串、数据输入(input语句) 的相关文章

  • Python 3.0 使用turtle.onclick

    所以这是我的问题 我必须为我的计算机科学课程制作一张图片 而在海龟中进行估计确实令人沮丧 我计划使用 onclick 来显示我的位置 import turtle as t def getPos x y print x y return de
  • 如何在 PyCharm 中设置运行配置的默认工作目录

    当我想运行众多 python 脚本之一时 我点击运行 这会创建一个新的运行配置 该配置的工作目录是 python 脚本文件所在的文件夹 相反 它应该从项目范围的固定文件夹运行 我想以某种方式进行设置 但我真的不明白为什么 这有点奇怪 因为我
  • 最近的 AWS 区域的客户端 IP 地址

    Question 我想从客户端设备将一些数据上传到 AWS 但我想上传到最近的 AWS 区域的 S3 存储桶 同样 我希望能够从最近的区域下载 当然 我会在每个区域设置一个存储桶 我可以使用一个系统 它可以获取客户端的 IP 地址 然后确定
  • Python 包?

    好吧 我认为无论我做错了什么 它可能都是显而易见的 但我无法弄清楚 我已经阅读并重新阅读了有关包的教程部分 我唯一能想到的是这不起作用 因为我直接执行它 这是目录设置 eulerproject init py euler1 py euler
  • 添加反斜杠而不转义[重复]

    这个问题在这里已经有答案了 我需要逃离 字符串中的 字符 问题是每当我string string replace 结果是 添加额外的反斜杠来转义原始反斜杠 如何删除这个多余的反斜杠 结果 仅显示 实际上字符串是 gt gt gt str g
  • Ttk Treeview:跟踪键盘选择

    这是一个带有 ttk 树视图的 Tk 小部件 当用户单击该行时 会执行某些功能 此处仅打印项目文本 我需要的是以下内容 最初的重点是文本输入 当用户按下 Tab 键时 焦点应该转到第一行 并且应该执行绑定到 Click 事件的函数 当用户使
  • Python ttk.combobox 强制发布/打开

    我正在尝试扩展 ttk 组合框类以允许自动建议 我到目前为止的代码运行良好 但我想让它在输入一些文本后显示下拉列表 而不从小部件的输入部分移除焦点 我正在努力解决的部分是找到一种强制下拉的方法 在 python 文档中我找不到任何提及这一点
  • BeautifulSoup 抓取街道地址

    我正在使用最底部的代码来获取weblink 以及清真寺名称 不过我也想得到面值 and 街道地址 请帮助我被困住了 目前我得到以下信息 Weblink div class subtitleLink a href http www salat
  • 使用 string.whitespace 删除 Python 中的空格

    Python 的 string whitespace 很棒 gt gt gt string whitespace t n x0b x0c r 如何在不手动输入 t n 等正则表达式的情况下将其与字符串一起使用 例如 它应该能够转动 请不要伤
  • 为什么 PySpark 中的 agg() 一次只能汇总 DataFrame 的一列? [复制]

    这个问题在这里已经有答案了 对于下面的数据框 df spark createDataFrame data Alice 4 300 Bob 7 677 schema name High 当我尝试找到最小值和最大值时 我只得到输出中的最小值 d
  • Seaborn 条形图条之间没有空格

    我使用下面的代码创建了一个 Seaborn 条形图 它来自https www machinelearningplus com plots top 50 matplotlib visualizations the master plots p
  • 为 pandas 数据框中的两列创建邻接矩阵

    我有一个以下形式的数据框 index Name A Name B 0 Adam Ben 1 Chris David 2 Adam Chris 3 Ben Chris 我想获得邻接矩阵Name A and Name B ie Adam Ben
  • UTF-8 在 Python 日志记录中,如何?

    我正在尝试使用 Python 的日志记录包将 UTF 8 编码的字符串记录到文件中 作为一个玩具示例 import logging def logging test handler logging FileHandler home ted
  • Python Pandas:将参数传递给 agg() 中的函数

    我试图通过使用不同类型的函数和参数值来减少 pandas 数据框中的数据 但是 我无法更改聚合函数中的默认参数 这是一个例子 gt gt gt df pd DataFrame x 1 np nan 2 1 y a a b b gt gt g
  • 默认可变参数的惯用方式

    在 python 中 如果直接将可变类型设置为默认参数 则会出现众所周知的边缘情况 def foo x return x y foo y append 1 print foo 通常的解决方法是将参数默认为None然后将其放入体内 然而 有
  • 如何将多索引数据帧与单个索引数据帧连接?

    df1 的单个索引与 df2 的多索引的子级别匹配 两者都有相同的列 我想将 df1 的所有行和列复制到 df2 它类似于这个线程 将单索引 DataFrame 复制到多索引 DataFrame https stackoverflow co
  • 使用 PyQt5 拖放 QLabels

    我正在尝试使用 PyQt5 将 Qlabel 拖放到另一个 Qlabel 上 from PyQt5 QtWidgets import QApplication QWidget QToolTip QPushButton QMessageBox
  • Python 中的数据可用性图表

    我想知道Python是否有一些东西可以绘制具有多个变量的时间序列的数据可用性 下面显示了一个示例 取自Visavail js 时间数据可用性图表 https github com flrs visavail 1 description 以下
  • PyTorch 中的交叉熵

    交叉熵公式 但为什么下面给出loss 0 7437代替loss 0 since 1 log 1 0 import torch import torch nn as nn from torch autograd import Variable
  • 如何从 Python 脚本捕获 Curl 的输出

    我想使用curl查找有关网页的信息 但在Python中 到目前为止我有这个 os system curl head www google com 如果我运行它 它会打印出 HTTP 1 1 200 OK Date Sun 15 Apr 20

随机推荐

  • 【译】12 条你可能还不知道的 Rust 提示和技巧

    12 Rust Tips and Tricks you might not know yet 译文 12 条你可能还不知道的 Rust 提示和技巧 原文链接 https federicoterzi com blog 12 rust tips
  • idea 中使用dataBase插件

    欢迎关注微信公众号 程序员小圈圈 转载请标明出处 原文首发于 www zhangruibin com 本文出自于 RebornChang的博客 idea对诸多数据库插件提供支持 举例MySQL数据库 使用idea中数据库插件首先把数据库da
  • leetcode 21. 合并两个有序链表 (python)

    将两个有序链表合并为一个新的有序链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 例 输入 1 gt 2 gt 4 1 gt 3 gt 4 输出 1 gt 1 gt 2 gt 3 gt 4 gt 4 本题同样可以很单线条解决 代码
  • 使用 windows 批处理指令(BAT文件)进行压缩文件(zip)解压操作

    以下指令包括文件删除 复制 zip文件解压操作 使用7z指令指令进行解压操作前 需要确保 windows 的 path 系统环境变量中存在7z的安装路径 7z的下载地址 https www 7 zip org download html 替
  • 【资源下载】Linux中下载并安装gdb调试器(附下载链接)

    资源下载 Linux中下载并安装gdb调试器 附下载链接 gdb是Linux环境下的代码调试工具 为了能在linux环境下更有好的编程体验 接下来我来教大家怎么安装 文章目录 资源下载 Linux中下载并安装gdb调试器 附下载链接 1 先
  • 无人车沿着指定线路自动驾驶与远程控制的实践应用

    有了前面颜色识别跟踪的基础之后 我们就可以设定颜色路径 让无人车沿着指定线路做自动驾驶了 视频 PID控制无人车自动驾驶 有了前几章的知识铺垫 就比较简单了 也是属于颜色识别的一种应用 主要是掌握自动驾驶中的一些基础知识 这样就可以进一步去
  • 第二讲 MySQL体系结构与存储引擎

    1 MySQL体系结构 1 1 数据库与数据库实例 数据库 物理操作系统中的文件和其他文件类型的集合 除了硬盘存储的文件 也可以是存放在内存中的文件 数据库实例 有数据库后台进程 线程以及一个共享内存区域组成 共享内存可以被后台进程 线程所
  • 【数据结构期末例题】

    前言 本文是博主自己在准备学校数据结构考试时的总结 各个知识点都贴有对应的详细讲解文章以供大家参考 当然文中还有许许多多的截图 这些是博主对主要内容的摘取 对于那些基础较好的同学可以直接看截图 减少跳转对应文章浏览全文的时间 感谢本文引用文
  • 弹性盒子(display: flex)布局超全讲解

    文章目录 什么是弹性布局 弹性布局的特点 容器的属性 justify content align items flex direction flex wrap flex flow align content order属性 flex gro
  • QT笔记-Label控件显示图片

    1 Label控件动态显示图片 动态显示图片1 int DeviceEdit OnLensPic bool checked AfCd cd QImage img img load UI lens bmp QImage imgScaled i
  • EduCoder_web实训作业--页面结点元素

    第一关 B C D A B 第二关 section section
  • LeetCode从零开始——第一题

    1 两数之和 题目描述 解题思路 代码执行 题目描述 给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的那 两个 整数 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素不能
  • WPF图表Live Charts(四)动态折线图

    简介 前面介绍了Live Charts的基础和设置 接下将介绍如何绘制动态的折线图 实时更新数据的折线图 效果预览 前台代码
  • 容器常用函数、algorithm头文件

    偶然发现有个
  • C++ 大话设计之《代理模式》(优缺点,设计原理,常用场景)

    代理模式是一种结构型模式 优点 可以实现对原对象的访问控制 代理对象可以在访问原对象之前执行一些额外操作 例如检查权限 记录日志等 可以提供额外的功能 代理对象可以在不修改原对象的情况下 为原对象提供额外的功能 可以减少客户端代码的复杂性
  • 【QT基础入门】1、QT开发环境搭建

    文章目录 一 学习所需要的软件 二 安装 VS2012 三 win10 下安装 QT 一 学习所需要的软件 Visual Studio 2012 Qt SDK 4 7 4 Qt Creator 2 4 1 Visutal Studio 20
  • 2021-10-26尤破金10.27外汇黄金白银实时操作策略布局

    黄金行情走势分析 周二 10月26日 国际金价回落 受到美元上扬打压 投资者在本周的关键央行政策会议前评估各国央行对日益增长的通胀压力可能做出的反应 分析师说 在当前的通胀环境下 黄金应能维持相对良好的支撑 直到我们得到美联储明确的鹰派转向
  • 2017总结

    这一年还是大部分时间做着开发的工作 在创业的一年多时间里 好像自己所做的事情不太像一个创业者做的事 用了太多的时间在具体的工作当中了 对于市场 对于营销推广都是在被动的接收 没有全面的 主动的去做事情 这也可能是我们做技术的出来创业的弊端
  • Vue.js 中hash路由和history路由原理及优缺点

    Vue js 中hash路由和history路由原理及优缺点 hash模式 原理 在 url 中的 之后对应的是 hash 值 其原理是通过hashChange 事件监听hash值的变化 根据路由表对应的hash值来判断加载对应的路由加载对
  • python基础----02-----字面量、变量、数据类型及其转换、标识符以及字符串、数据输入(input语句)

    一 字面量 1 字面量 字面量 在代码中 被写下来的的固定的值称之为字面量 类似C C 的字符串常量 1 1 常见的python值类型 Python中常见的值类型 实际上在C C 字面量和这里的类型还是有区别的 体现在内存存储中 字面量存储