Python学习打卡:day02

day2

笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了

8、字符串的三种定义方式

字符串在Python中有多种定义形式

  1. 单引号定义法:

    name = '黑马程序员'
    
  2. 双引号定义法:

    name = "黑马程序员"
    
  3. 三引号定义法:

    name = """黑马程序员"""
    

三引号定义法,和多行注释的写法一样,同样支持换行操作。

使用变量接收它,它就是字符串;

不使用变量接收它,就可以作为多行注释使用。

"""
演示字符串的三种定义方式:
- 单引号定义法
- 双引号定义法
- 三引号定义法
"""

# 单引号定义法
name = 'heima'
print(type(name))

# 双引号定义法
name = "heimachengxuyuan"
print(type(name))

# 三引号定义法,写法和多行注释是一样的
name = """
wo
shi
heima
"""
print(type(name))

字符串的引号嵌套

思考:如果我想要定义的字符串本身,是包含:单引号、双引号自身呢?如何写?

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

示例:

# 在字符串内,包含双引号
name = '"heima"'
print(name)
# 在字符串内,包含单引号
name = "'chengxuyuan'"
print(name)
# 使用转义字符 \ 解除引号的作用
name = "\"heimachengxuyuan"
print(name)
name = '\'heima\''
print(name)

9、字符串的拼接

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

print("学IT来黑马"+"月薪过万")

输出结果:学IT来黑马月薪过万

不过一般,单纯的2个字符串字面量进行拼接显得很呆,一般,字面量和变量或变量和变量之间会使用拼接,如:

name ="黑马程序员"
print("我的名字是:"+ name +",我可以教大家IT技能")

输出结果:我的名字是:黑马程序员,我可以教大家IT技能。

示例:

# 字符串字面量之间的拼接
print("hello " + "world")

# 字符串字面量和字符串变量的拼接
name = "hello world"
address = "111111"
tel = 4008208820
print(name + address)
# error: can only concatenate str (not "int") to str
# print(name + address + tel)

10、字符串格式化

我们会发现,这个拼接字符串也不好用啊,变量过多,拼接起来实在是太麻烦了,字符串无法和数字或其它类型完成拼接

我们可以通过如下语法,完成字符串和变量的快速拼接。

name ="黑马程序员"
message ="学IT就来:%s" % name
print(message)

其中的,%s 中 % 表示:我要占位,s 表示:将变量变成字符串放入占位的地方,所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置。

那,数字类型呢?可以不可以占位?

那必须可以,我们来尝试如下代码:

class_num = 57
avg_salary = 16781
message ="Python大数据学科,北京%s期,毕业平均工资:%s" %(class_num,avg_salary)
print(message)

输出结果:Python大数据学科,北京57期,毕业平均工资:16781

tips

  1. 多个变量占位
  2. 变量要用括号括起来
  3. 并按照占位的顺序填入

Python中,其实支持非常多的数据类型占位:

在这里插入图片描述

示例程序:

# 通过占位的形式,完成拼接
name = "heima"
message = "hello: %s" % name
print(message)

# 通过占位的形式,完成数字和字符串的拼接
class_num = 57
avg_salary = 16781
message = "Python大数据学科,北京 %s 期,毕业平均工资: %s " % (class_num, avg_salary)
print(message)

name = "传智伯克"
setup_year = 1990
stock_price = 99.90
message = "%s, 成立于:%d, 今天的股价是:%f" % (name, setup_year, stock_price)
print(message)

输出:

hello: heima
Python大数据学科,北京 57 期,毕业平均工资: 16781 
传智伯克, 成立于:1990, 今天的股价是:99.900000

11、格式化的精度控制

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

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

tips
格式化字符串时的宽度限制(如 %5d 或 %5.3f)是指整个字段的宽度,包括数字、小数点和任何其他字符。

  • %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

示例:

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宽度限制为7,小数精度2,结果是:%.2f " % num2)

输出结果:

数字11宽度限制为5,结果是:   11 
数字11宽度限制为1,结果是:11 
数字11.345宽度限制为7,小数精度2,结果是:  11.35 
数字11.345宽度限制为7,小数精度2,结果是:11.35 

12、字符串格式化的方式2

字符串格式化快速写法:

通过语法:f"内容{变量}" 的格式来快速格式化。

tips:

  1. 这种写法不做精度控制
  2. 也不理会类型
  3. 适用于快速格式化字符串

示例:

"""
演示第二种字符串格式化的方式:f"{占位}"
"""
name = "传智伯克"
setup_year = 1990
stock_price = 99.90
print(f"我是{name},我成立于:{setup_year}年,我今天的股价是:{stock_price}")

输出结果:

我是传智伯克,我成立于:1990年,我今天的股价是:99.9

13、对表达式进行格式化

表达式就是一个具有明确结果的代码语句,如1+1、type(“字符串”)、3*5等在变量定义的时候,如 age=11+11,等号右侧的就是表达式,也就是有具体的结果,将结果赋值给了等号左侧的变量。

如何格式化表达式?

1、f"{表达式}"

2、"%s \ %d \ %f" % (表达式、表达式、表达式)

在无需使用变量进行数据存储的时候,可以直接格式化表达式。

示例:

"""
演示对表达式进行字符串格式化
"""
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'>

14、字符串格式化的课后练习题

在这里插入图片描述

示例程序:

name = "chuanzhiboke"
stock_price = 19.99
stock_code = "003032"
stock_price_growth_factor = 1.2
growth_days = 7
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数:%2.1f, 经过 %d 天的增长,股价达到了:%5.2f" % (stock_price_growth_factor, growth_days, stock_price*(1.2**7)))

15、数据输入( input 语句)

input 语句(函数)

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

  • 数据输出:print
  • 数据输入:input

使用上也非常简单:

  • 使用 input() 语句可以从键盘获取输入;
  • 使用一个变量接收(存储) input 语句获取的键盘输入数据即可。

示例:

"""
演示 python 中的input语句
获取键盘的输入信息
"""
print("请告诉我你是谁?")
name = input()
print("我知道了,你是: %s" % name)

输出结果:(绿色的为输入内容)

在这里插入图片描述

input()语句其实是可以在要求使用者输入内容前,输出提示内容的,方式如下:

name = input("请告诉我你是谁?")
print("我知道了,你是: %s" % name)

输出结果:(绿色的为输入内容)

在这里插入图片描述

input语句获取的数据类型

如果我们输入数字类型或其它类型,结果会如何?

可以看到,无论键盘输入何种类型的数据最终的结果都是:字符串类型的数据,如果需要转换成其他类型,需要进行强制类型转换

示例程序:

# 输入数字类型
num = input("请告诉我你的银行卡密码:")
print(type(num))
# 数据类型转换
num = int(num)
print("你的银行卡密码的类型是: ", type(num))

输出结果:

在这里插入图片描述

16、布尔类型和比较运算符

布尔类型的字面量:

  • True 表示真(是、肯定)
  • False 表示假(否、否定)

定义变量存储布尔类型数据:变量名称 = 布尔类型字面量

布尔类型不仅可以自行定义,同时也可以通过计算的来(也就是使用比较运算符进行比较运算得到布尔类型的结果。)

比较运算符:
在这里插入图片描述

示例:

"""
演示布尔类型的定义
以及比较运算符的应用
"""
# 定义变量存储布尔类型的数据
bool_1 = True
bool_2 = False
print(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool_2变量的内容是:{bool_2},类型是:{type(bool_2)}")

# 比较运算符的使用
# ==, !=, >, <, >=, <=
# 演示进行内容的相等比较
num1 = 10
num2 = 10
print(f"10 == 10的结果是:{num1 == num2}")

num1 = 10
num2 = 15
print(f"10 != 15的结果是:{num1 != num2}")

name1 = "itcast"
name2 = "itheima"
print(f"itcast == itheima的结果是:{name1 != name2}")

# 演示大于小于,大于等于,小于等于的比较运算
num1 = 10
num2 = 5
print(f"10 > 5 的结果是:{num1 > num2}")
print(f"10 < 5 的结果是:{num1 < num2}")

num1 = 10
num2 = 11
print(f"10 >= 11的结果是:{num1 >= num2}")
print(f"10 <= 11的结果是:{num1 <= num2}")

# 数字 1 与字符串 '1' 进行比较
print(f"1 == '1'的结果是:{1 == '1'}")

输出结果:

17、if 语句的基本格式

程序中的判断

if 要判断的条件:
	条件成立时,要做的事情

判断语句的结果必须是布尔类型True或False

  • True会执行if内的代码语句
  • False则不会执行

if 语句的注意事项

  • 判断条件的结果一定要是布尔类型
  • 不要忘记判断条件后的: 引号
  • 归属于if语句的代码块,需在前方填充4个空格缩进

示例程序:

"""
演示 python 判断语句:if语句的基本格式应用
"""
age = 30
if age >= 18:
    print("我已经成年了")
    print("即将步入成年生活")
print("时间过的真快阿")

age = 10
if age >= 18:
    print("我已经成年了")
    print("即将步入成年生活")
print("时间过的真快阿")

输出结果:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何为色盲适配图形用户界面

首发日期 2024-05-25, 以下为原文内容: 答案很简单: 把彩色去掉, 测试. 色盲, 正式名称 色觉异常. 众所周知, 色盲分不清颜色. 如果用户界面设计的不合理, 比如不同项目只使用颜色区分, 而没有形状区分, 那么色盲使用起来就会非常难受, 甚至无法使用. 色盲中最严重的情况称为…

2024PTA算法竞赛考试编程题代码

目录 前言 题目和代码 L1-006 连续因子 L1-009 N个数求和 L2-004 这是二叉搜索树吗&#xff1f; L2-006 树的遍历 L2-007 家庭房产 L4-118 均是素数 L4-203 三足鼎立 L2-002 链表去重 L2-003 月饼 L2-026 小字辈 L4-201 出栈序列的合法性 L4-205 浪漫侧影 前言 所…

【数据结构】AVL树(平衡二叉树)

目录 一、AVL树的概念二、AVL树的节点三、AVL树的插入四、AVL树的旋转1.插入在较高左子树的左侧&#xff0c;使用右单旋2.插入在较高右子树的右侧&#xff0c;使用左单旋3.插入较高左子树的右侧&#xff0c;先左单旋再右单旋4.插入较高右子树的左侧&#xff0c;先右单旋再左单旋…

unity基础(五)地形详解

目录 一 创建地形 二 调整地形大小 三 创建相邻地形 四 创建山峰 五 创建树木 七 添加风 八 添加水 简介: Unity 中的基础地形是构建虚拟场景的重要元素之一。 它提供了一种直观且灵活的方式来创建各种地形地貌&#xff0c;如山脉、平原、山谷等。 通过 Unity 的地形…

C51学习归纳9 --- I2C通讯学习(重点)

首先&#xff0c;我自己学习过以后的直观感觉&#xff0c;通信协议是单片机的灵魂之一&#xff0c;只有规定好了通信协议我们才能够正确的接收到信息&#xff0c;才能实现更加深入的研究。所以这一部分是需要好好学习的。 本节借助一个可存储的芯片AT24C02&#xff0c;进行在I2…

开源低代码平台技术为数字化转型赋能!

实现数字化转型升级是很多企业未来的发展趋势&#xff0c;也是企业获得更多发展商机的途径。如何进行数字化转型&#xff1f;如何实现流程化办公&#xff1f;这些都是摆在客户面前的实际问题&#xff0c;借助于开源低代码平台技术的优势特点&#xff0c;可以轻松助力企业降低开…

【设计模式】创建型设计模式之 建造者模式

文章目录 一、介绍定义UML 类图 二、用法1 简化复杂对象具体构建过程省略抽象的 Builder 类省略 Director 类 三、用法2 控制对象构造方法、限制参数关系Guava 中使用建造者模式构建 cache 来进行参数校验 一、介绍 定义 建造者模式&#xff0c;将一个复杂的对象的构建过程与…

互联网应用主流框架整合之SpringMVC初始化及各组件工作原理

Spring MVC的初始化和流程 MVC理念的发展 SpringMVC是Spring提供给Web应用领域的框架设计&#xff0c;MVC分别是Model-View-Controller的缩写&#xff0c;它是一个设计理念&#xff0c;不仅仅存在于Java中&#xff0c;各类语言及开发均可用&#xff0c;其运转流程和各组件的应…

探索OrangePi AIpro:单板计算机的深度体验之旅

准备阶段&#xff1a;环境与资料 在开始我们的探索之旅前&#xff0c;确保您已准备好以下装备&#xff1a; OrangePi AIpro&#xff1a;我们的主角&#xff0c;一台功能强大的单板计算机。Windows 10笔记本电脑&#xff1a;作为我们的辅助工具&#xff0c;用于管理和测试。路…

FastAPI:在大模型中使用fastapi对外提供接口

通过本文你可以了解到&#xff1a; 如何安装fastapi&#xff0c;快速接入如何让大模型对外提供API接口 往期文章回顾&#xff1a; 1.大模型学习资料整理&#xff1a;大模型学习资料整理&#xff1a;如何从0到1学习大模型&#xff0c;搭建个人或企业RAG系统&#xff0c;如何评估…

python ---使用python操作mysql ---> pymysql

本章内容: 1:能够完成从MySQL中读取出数据; [重点] 查询: execute()、fetchall() 2:能够将数据写入MySQL数据库。 [重点] 插入数据: execute() sql insert into xxx [掌握]pymysql模块的安装 目标&#xff1a;了解如何安装pymysql模块&#xff1f; 当要使用Python和M…

操作系统复习-存储管理之虚拟内存

虚拟内存概述 有些进程实际需要的内存很大&#xff0c;超过物理内存的容量。多道程序设计&#xff0c;使得每个进程可用物理内存更加稀缺。不可能无限增加物理内存&#xff0c;物理内存总有不够的时候。虚拟内存是操作系统内存管理的关键技术。使得多道程序运行和大程序运行称…

永久免费的iPhone,iPad,Mac,iWatch锁屏,桌面壁纸样机生成器NO.105

使用这个壁纸样机生成器&#xff0c;生成iPhone&#xff0c;iPad&#xff0c;Mac&#xff0c;iWatch锁屏&#xff0c;桌面壁纸&#xff0c;展示你的壁纸作品&#xff0c;一眼就看出壁纸好不好看&#xff0c;适不适合 资源来源于网络&#xff0c;免费分享仅供学习和测试使用&am…

【C语言初阶】分支语句

&#x1f31f;博主主页&#xff1a;我是一只海绵派大星 &#x1f4da;专栏分类&#xff1a;C语言 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、什么是语句 二、if语句 悬空else 三、switch语句 default 四、switch语句与if-else语句性能对比如何&#xff1f…

【Python核心数据结构探秘】:元组与字典的完美协奏曲

文章目录 &#x1f680;一、元组⭐1. 元组查询的相关方法❤️2. 坑点&#x1f3ac;3. 修改元组 &#x1f308;二、集合⭐1. 集合踩坑❤️2. 集合特点&#x1f4a5;无序性&#x1f4a5;唯一性 ☔3. 集合&#xff08;交&#xff0c;并&#xff0c;补&#xff09;&#x1f3ac;4. …

手撕设计模式——克隆对象之原型模式

1.业务需求 ​ 大家好&#xff0c;我是菠菜啊&#xff0c;前俩天有点忙&#xff0c;今天继续更新了。今天给大家介绍克隆对象——原型模式。老规矩&#xff0c;在介绍这期之前&#xff0c;我们先来看看这样的需求&#xff1a;《西游记》中每次孙悟空拔出一撮猴毛吹一下&#x…

【电赛】STM32-PID直流减速电机小车【寻迹+避障+跟随】【更新ing】

一.需求分析 1.主控&#xff1a;STM32C8T6&#xff08;没什么好说的哈哈&#xff09; 2.电机&#xff1a;JAG25-370电机 【问】为什么要用直流减速电机&#xff1f;&#xff1f; PID控制器需要依靠精确的反馈信号来调整其输出&#xff0c;确保电机按照预定的速度和位置运行…

简单聊一下Oracle,MySQL,postgresql三种锁表的机制,行锁和表锁

MySQL&#xff1a; MySQL使用行级锁定和表级锁定。行级锁定允许多个会话同时写入表&#xff0c;适用于多用户、高并发和OLTP应用。表级锁定只允许一个会话一次更新表&#xff0c;适用于只读、主要读取或单用户应用。 比如mysql开启一个窗口执行 begin; update xc_county_a…

激光点云配准算法——Cofinet / GeoTransforme / MAC

激光点云配准算法——Cofinet / GeoTransformer / MAC GeoTransformer MAC是当前最SOTA的点云匹配算法&#xff0c;在之前我用总结过视觉特征匹配的相关算法 视觉SLAM总结——SuperPoint / SuperGlue 本篇博客对Cofinet、GeoTransformer、MAC三篇论文进行简单总结 1. Cofine…

jquery.datetimepicker无法添加清除按钮的问题

项目场景&#xff1a; 自从决定用现有新技术实现CRM老项目起&#xff0c;就开始了我的折腾之路&#xff0c;最近一直在折腾前端页面&#xff0c;不像后端Java&#xff0c;写的有问题运行会报错&#xff0c;大多数报错一搜就能找到解决方案&#xff0c;前端这个倒好&#xff0c…