python全栈开发《07.数据类型之数字类型的应用、初识字符串类型》

目录

  • 一、数字类型的简单应用
  • 二、初识字符串
    • 1.什么是字符串
    • 2.字符串的内置函数与定义方法
    • 3.字符串的重要思想
  • 三、python的内置函数id和len

一、数字类型的简单应用

  • 对int与float的简单应用练习–初中生春游,主人公小编。

1.起因

  • 小编学校组织春游,他的班级学生共51人,男生28人,女生23人。

  • 每人缴费35.5元,并且根据最后使用的情况多退少补。

2.经过

  • 他们早上8点出发,每个大巴可以坐30人,所以需要2辆大巴。
  • 上午10点33分到达公园开始游玩。
  • 中午12点开始吃饭,伙食费是25.5元。
  • 到下午3点05分时集体离开公园,坐大巴回去,来回大巴费用是5元。

3.结果

  • 到晚上5点回到学校,每人退回5元钱。

4.我们的任务

  • 把这一天有关整型,浮点型的信息按照先后顺序打印出来。
  • 定义整型与浮点型,并熟练赋值语句与print,type的使用。

5.代码

# coding:utf-8title='小编学校的春游'class_count=51
boys=28
girls=23every_body_pay=35.5start_time=8.00
bus_count=2
site_every_bus=30come_park_time=10.33
lunch_time=12.0
lunch_pay=25.5leave_park_time=3.05bus_pay=5come_back_school_time=5.00back_pay =5if __name__ == '__main__':print(title)print('小编的班级有:',class_count)print('男生有:',boys)print('女生有:',girls)print('每人支付:',every_body_pay,'元')print('出发的时间是早上:',start_time,'点')print('出行需要:',bus_count,'公交大巴')print('我们到达公园的时间是:',come_park_time)print('吃午饭的时间是:',lunch_time)print('每人支付伙食费:',lunch_pay)print('离开公园的时间是:',leave_park_time)print('公交大巴来回的费用是每人:',bus_pay)print('下午',come_back_school_time,'到达学校')print('这一天小编同学花费了:',30.5)print('最后退回:',back_pay)print(type(come_back_school_time))print(type(every_body_pay))print(type(site_every_bus))

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/number_test.py 
小编学校的春游
小编的班级有: 51
男生有: 28
女生有: 23
每人支付: 35.5 元
出发的时间是早上: 8.0 点
出行需要: 2 公交大巴
我们到达公园的时间是: 10.33
吃午饭的时间是: 12.0
每人支付伙食费: 25.5
离开公园的时间是: 3.05
公交大巴来回的费用是每人: 5
下午 5.0 到达学校
这一天小编同学花费了: 30.5
最后退回: 5
<class 'float'>
<class 'float'>
<class 'int'>进程已结束,退出代码为 0

二、初识字符串

1.什么是字符串

看图片,这是一个网页,里面有很多的内容。字符串就像我们说的话,通过字符串的形式,帮助我们去展示,去读写。这个图片上所有的信息都是字符串。

  • 用‘’或“”包裹的所有数据都是字符串。

其中就包括了字符的集合。都有哪些是字符呢?比如中文、英文、各种标点符号、数字等等。只要你能想到的所有可以书写的内容,都可以被引号包裹起来成为字符串。

  • 字符串中可以包含任意字符:如字母、数字、符号,且没有先后顺序。

数字类型怎么又成为字符串了呢?因为数字被引号包裹的时候,虽然表面上看它还是数字类型,其实它已经是字符串里要表达的内容的一部分了。

2.字符串的内置函数与定义方法

在python中,使用str来代表字符串类型,并且通过该函数可以定义字符串。

字符串的定义和整型,浮点型,非常类似。第一种是通过专用的定义函数来定义。比如str,括弧内是字符串信息。第二个name则直接赋值,不需要str函数的介入。在书写代码的时候,用引号包裹的信息就是字符串。

但是在打印出来用于读取的时候,引号就消失了。比如刚刚看到的图片,以及print出来这些变量之后,都是没有引号的。

并且通过type函数,字符串类型是这样的:<class 'str'>

str和我们的内置函数str是完全一致的。

3.字符串的重要思想

  • 字符串不可改变!

比如name='dewei',当我们赋值之后,这个name就会被内存安排一个家,家里的成员是dewei,但是我们无法对于这个家庭成员进行修改。

之前学习变量的时候说过,变量的值可以改变的。比如给name重新赋值为xiaoli,这里要明确一件事,改变的是一个变量的变量值,而不是在一个变量值上进行修改。

所以,当name等于xiaoli之后,不是对于原来的字符串dewei进行了修改,而是name这个变量名找到了另一个内存里房间的主人xiaoli而已。

dewei还在它过去的内存房间里,没有任何改变,也无法改变。

三、python的内置函数id和len

1.python的内置函数id

  • 返回变量的内存地址。

也可以认为,返回的是每个变量家庭地址的门牌号。它是一个整数。

  • 数字地址=id(变量)

定义的方法就是将变量放到id的括弧内,并且给它赋予一个变量。或者直接打印出来,就像使用type一样。

看图片,dewei和xiaomu是住在不同的区域,看似是修改了name的字符串,但是其实dewei还在自己的家里静静的生活着,没有被打扰。这就是字符串不可改变的特性。

如果把name重新赋值dewei,能找到那个房间的dewei吗?

是不行的,因为内存里面的房间数量是很紧张的。当我们不再使用它的时候,内存管家为了腾空让新的住户进来,就会把dewei赶出去了。

所以,即便我们再定义一个dewei给name,实际上已经不是上一个门牌号的dewei了。只是巧合,长得一样而已。

随着对数据结构的深入,会对字符串不可修改的理解变得更加清晰。

2.python的内置函数len

  • 返回字符串的长度。
  • 无法返回数字类型的长度,因为数字类型没有长度。
  • 返回值=len(字符串)

通过len括弧包裹一个字符串,可以给它赋予一个变量。也可以直接print,就像type一样。通过len这个函数可以帮助我们对于一个字符串长度的判断。

比如访问一个网站,当我们要注册的时候,会输入密码,那么密码的长度经常会被限制。实际上,通过len函数检查密码是否超出了限制,是经常用的。如果超出了,就会提醒你。

比如,对于密码的长度要求是16,如果你的密码长度定义了17个长度,就会提示错误。

len里面使用数字类型是不可以的,程序会直接报错。

3.代码

当name被重新赋值之后,之前的dewei就会被内存管家赶出去了。因为这个dewei没有人关注了。它对应的变量名又找到了新的住户,所以内存管家就将它请了出去。

但是,有什么办法让这个dewei一直存在在这里呢?很简单,只要让新的变量名等于这个dewei。

# coding:utf-8name='dewei'
name_02='小编'print(id(name))
print(id(name_02))new_name=name
print(id(new_name))

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/string_test.py 
4343908720
4343961328
4343908720

所以,只要有一个变量还使用着dewei,就可以通过将新的变量和老的变量再进行赋值的方式,找到之前的dewei。

三引号的注释也可以用作字符串来使用:

# coding:utf-8name='dewei'
name_02='小编'print(id(name))
print(id(name_02))new_name=name
print(id(new_name))print(type(name))info ='''今天的天气真好呀'''
print(info)info1='asdf'
info2="asdf"new_str="nihao  dewei  'nihao'  '' xiaomu"
str_01=''
print(len(str_01))
print(new_str)

单引号和双引号定义出来的字符串没有任何的不同。空字符串的长度是0。

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/string_test.py 
4301326576
4301379312
4301326576
<class 'str'>
今天的天气真好呀0
nihao  dewei  'nihao'  '' xiaomu

直接在单引号内再次输入单引号不会报错:


因为里面的单引号的内容是空的,所以,不会报任何的错误。

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

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

相关文章

Django配置连接池:使用django-db-connection-pool配置连接池

一、该三方库文档使用 github地址&#xff1a; https://github.com/altairbow/django-db-connection-pool/blob/1.2.5/README_CN.mdhttps://github.com/altairbow/django-db-connection-pool/blob/1.2.5/README_CN.md1、选择指定版本&#xff0c;查看指定版本的文档和配置&am…

【Java】Object类中的toString、equals方法

Object类 所有类都直接或间接的继承自Object类&#xff0c;Object类是所有Java类的根基类。 也就意味着所有的Java对象都拥有Object类的属性和方法。 如果在类的声明中未使用extends关键字指明其父类&#xff0c;则默认继承Object类。 toString()方法 【1】Object类的toStr…

ChatGPT魔法背后的原理:如何做到词语接龙式输出?

介绍 我们都知道 ChatGPT 是 AIGC 工具&#xff0c;其实就是生成式人工智能。大家有没有想过这些问题 &#x1f914;️&#xff1a; 1、我们输入一段话&#xff0c;就可以看见它*噼里啪啦的一顿输出*&#xff0c;那么它的原理到底是什么&#xff1f; 2、到底它是怎么锁定这些…

【MySQL】事务一

事务一 1.什么是事务2.为什么会存在事务3.事务的版本支持4.事务的提交方式5.事务常见操作方式6.事务隔离级别6.1读未提交【Read Uncommitted】6.2读提交【Read Committed】6.3可重复读【Repeatable Read】6.4串行化【serializable】 点赞&#x1f44d;&#x1f44d;收藏&#x…

SSM家乡旅游网-计算机毕业设计源码04802

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;SSM家乡旅游网当然也不能排除在外。SSM家乡旅游网是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c…

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第八周) - 现代大语言模型

现代大语言模型 1. GPT-32. 上下文学习 2.1. 零样本提示2.2. 少样本提示2.3. 归纳头 3. 对齐 3.1. 指令微调3.2. 基于人类反馈的强化学习3.3. 事实与幻觉 1. GPT-3 GPT系列论文 GPT-1(2018): Improving Language Understanding by Generative Pre-TrainingGPT-2(2019): Lang…

基于BERT微调+模板填充快速实现文本转DSL查询语句

前言 Text2SQL是指将自然语言转化为类SQL查询语句&#xff0c;使得用户的查询文本可以直接实现和数据库交互&#xff0c;本文介绍一种以BERT为基础模型&#xff0c;通过模板填充来实现的Text2SQL算法和产品化。 内容摘要 Text2SQL任务说明模板填充的思路条件列选择子模型搭建…

【免费Web系列】大家好 ,今天是Web课程的第二一天点赞收藏关注,持续更新作品 !

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 员工管理 1. 条件分页查询 1.1 概述 在页面原型中&#xff0c;我们可以看到在查询员工信息列表时&#xff0c;既需要根据条件动态查询&#xff0c;还需要对查询的结果进行分页处理。 那要完成这个页面…

【linux】应用程序访问百度时,操作系统内核网络接口日志

代码合入&#xff1a; 登录 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/commit/c639573cc7c4984913d4a89884347e5a30a51eac 启动操作系统运行dmesg的日志像这样&#xff1a; dmesg_log/2024_06_14_00_40_54.txt r77683962/linux-6.9.0 - Gitee.com 注意&#xf…

告别交叉编译 armbian小盒子 做RK3588开发

最近在做RK3588平台的开发 按照官方文档的说明 需要搭建交叉编译环境 然后在宿主机上做开发 使用交叉编译链 编译应用 其实蛮麻烦的 正好手头上有个arm64位的armbian小盒子 黑豹X2 信息如下 RK3588 也是64位的cpu 内存4G EMMC 32G 黑豹X2 用的 RK3566 也是瑞芯微…

后端常见问题解答-位运算实际场景讲解

位运算 在计算机存储的世界中&#xff0c;一切都是二进制的&#xff0c;位运算就是对二进制位进行操作的一种运算。位运算是计算机中的一种常见运算&#xff0c;可以用来提高性能和提升代码的可读性。 位运算有很多种&#xff0c;比如与、或、非、异或等&#xff0c;这些运算…

编程学到什么水平可以去接单呢?

关于编程要学到何种水平才可以去接单&#xff0c;这是一个需要认真思考的问题。 如果没有完整的项目经验&#xff0c;千万不要轻易地去承接外包项目。不要觉得仅仅因为自己能够编写一个计算器程序&#xff0c;就自以为有能力承接工程项目了。 要是没有拥有解决问题的清晰思路以…

springmvc 全局异常处理器配置的三种方式深入底层源码分析原理

文章目录 springmvc 全局异常处理器配置的三种方式&深入底层源码分析原理配置全局异常处理器的三种方式实现接口HandlerExceptionResolver并配置到WebMvcConfigurer注解式配置ExceptionHandlercontroller里方法上定义ExceptionHandler 深入源码分析进入DispatcherServlet执…

SpringBoot3 常用的第三方接口调用十种方式

环境&#xff1a;SpringBoot.3.3.0 简介 在项目中调用第三方接口是日常开发中非常常见的。调用方式的选择通常遵循公司既定的技术栈和架构规范&#xff0c;以确保项目的一致性和可维护性。无论是RESTful API调用、Feign声明式HTTP客户端、Apache HttpClient等调用方式&#x…

经典的带环链表问题(链表补充)

环形链表1 运用快慢指针的方法&#xff0c;fast ,slow从头节点出发&#xff0c;快指针走两步&#xff0c;慢指针走一步&#xff0c;若有环&#xff0c;快指针先进环&#xff0c;后续如果慢指针和快指针相遇&#xff0c;则链表带环。转换成了追击问题。 struct ListNode {int v…

重温react-01

创建react项目 // 第一步 npm install create-react-app -g // 第二步 create-react-app my-app目录介绍 my-app/README.md# 项目第三方依赖包node_modules/package.json# 一般用来存放静态依赖public/index.htmlfavicon.ico# 存放项目源代码&#xff0c;注意只有放在scr目录…

快速提升沟通能力:客服必备的话术技巧

在现在的这个互联网时代&#xff0c;各行业竞争日益激烈&#xff0c;而客服作为连接商家和消费者的桥梁&#xff0c;无疑是一个重要的岗位。可以说客服是一个极具挑战性的岗位&#xff0c;客服每天需要面对来自全国各地的客户&#xff0c;同时还要对不同地区、不同性格、不同需…

SQLServer 借助Navcate做定时备份的脚本

首先创建SQLServer链接&#xff0c;然后在Query标签种创建一个查询 查询内容如下 use ChengYuMES declare ls_time varchar(1000) declare ls_dbname varchar(1000) set ls_time convert(varchar, getdate(), 112) _ replace(convert(varchar, getdate(), 108), :, )-- 需…

LeetCode20.有效的括号

题目描述 分析 我们刚上来的思路可能是&#xff1a;找出这三种括号的个数 如果都是偶数 说明匹配 但是这里还有一个顺序问题 比如 " )( "这样是不匹配的&#xff01; 所以这种思路不可取&#xff01; 我们想 如果遇到左括号&#xff0c;把他读到一个顺序表中&#…

Redis应用:基于Redis实现排行榜、点赞、关注功能

文章目录 1. 环境准备2. 实现排行榜功能2.1 添加用户分数2.2 获取排行榜2.3 获取用户排名2.4 更新用户分数示例代码3. 实现点赞功能3.1 添加点赞3.2 获取点赞数3.3 检查用户是否点赞3.4 取消点赞示例代码4. 实现关注功能4.1 添加关注4.2 获取粉丝列表4.3 获取关注列表4.4 取消关…