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

news2024/10/5 11:48:02

目录

  • 一、数字类型的简单应用
  • 二、初识字符串
    • 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-8

title='小编学校的春游'

class_count=51
boys=28
girls=23

every_body_pay=35.5

start_time=8.00
bus_count=2
site_every_bus=30

come_park_time=10.33
lunch_time=12.0
lunch_pay=25.5

leave_park_time=3.05

bus_pay=5

come_back_school_time=5.00

back_pay =5

if __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-8

name='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-8

name='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.coloradmin.cn/o/1826960.html

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

相关文章

智能驾驶时代:车联网需要怎样的智能网络底座?

2024年&#xff0c;智能驾驶市场火热&#xff0c;无论是造车新势力还是老牌车企纷纷发力智能驾驶&#xff0c;他们深知&#xff0c;新能源汽车的下半场已到&#xff0c;再不发力智能驾驶&#xff0c;可能真的有些来不及了。车企不断加码单车智能的同时&#xff0c;政府也在稳步…

关于BERT和embedding

embedding到一个低维向量&#xff0c;但是需要回到onehot高维表示&#xff0c;所以大部分填词游戏最后都需要加上一个MLP接头。 word2vec如此简单的结构&#xff0c;学习到的是embedding 基于计数的统计方法和word2vec融合就形成了glove词嵌入模型 总结&#xff1a;通过各种…

FL Studio21.2.9最新中文永久激活码注册码

FL Studio21中文版本激活码注册码&#xff0c;这个好东西我真的要给大家种草一下&#xff01;&#x1f331; 让我来给大家介绍一下这款神奇的软件吧&#xff01;FL Studio21是一款非常专业的音乐制作软件&#xff0c;功能强大到让人惊叹&#xff01;&#x1f60d; 它可以帮助音…

AI预测福彩3D采取888=3策略+和值012路或胆码测试6月15日新模型预测第5弹

今天咱们继续验证新模型的8码定位3&#xff0c;目前新模型新算法8码定位经过4次测试&#xff0c;已命中3次&#xff0c;9码定位连续命中4次。咱们重点是预测8码定位3&#xff0b;和值012胆码。有些朋友看到我最近几篇文章没有给大家提供缩水后的预测详情&#xff0c;在这里解释…

使用docker构建自己的镜像并推送到远程镜像仓库

这里镜像仓库使用阿里云仓库&#xff0c;其他仓库可能类似&#xff0c;可以参考&#xff0c;个人实例可以免费使用。 背景 遇到的问题&#xff1a;需要定制一个自己的镜像&#xff0c;在上面安装一些环境&#xff0c;然后将镜像托管到公共镜像仓库&#xff0c;在其他地方使用…

什么是快乐?

什么是快乐&#xff1f; What is Happiness? 1. 快乐不是追求外在的物质&#xff0c;而是内心的平静与满足。当我们学会感恩&#xff0c;懂得珍惜眼前的一切&#xff0c;心中自然会充满喜悦。快乐并非来自拥有更多&#xff0c;而是感受到已经拥有的足够。每一天都怀抱感激之情…

04.VisionMaster 机器视觉找圆工具

VisionMaster 机器视觉找圆工具 定义 先检测出多个边缘点然后拟合成圆形&#xff0c;可用于圆的定位与测量 注意&#xff1a;找圆工具 最好和【位置修正】模块一起使用。具体可以看下面的示例。 参数说明&#xff1a; 扇环半径&#xff1a;圆环ROI的内外圆半径 边缘类型&a…

手把手教学部署前端项目到nginx

1.下载nginx 说明&#xff1a;下载11.20.2版本的nginx。 2.配置nginx 说明&#xff1a;找到conf目录下的nginx.conf文件。 2.1代理静态资源 说明&#xff1a;服务器块监听的端口为8089&#xff0c;意味着Nginx将在8089端口上接收和处理HTTP请求。root后面的值相当于html文…

socket收发数据的处理

1. TCP 协议是一种基于数据流的协议 Socket的Receive方法只是把接收缓冲区的数据提取出来,当系统的接收缓冲区为空,Receive方法会被阻塞,直到里面有数据。 Socket的Send方法只是把数据写入到发送缓冲区里,具体的发送过程由操作系统负责。当操作系统的发送缓冲区满了,Send方法会…

Android中的消息异步处理机制及实现方案

基本介绍 当我们需要执行复杂的计算逻辑&#xff0c;网络请求等耗时操作时&#xff0c;服务器可能不会立即响应请求&#xff0c;如果不将这类操作放在子线程中运行&#xff0c;就会导致主线程被阻塞住&#xff0c;从而影响用户的使用体验如果想要更新应用程序中的UI控件&#…

idea远程调试docker容器内正在运行的线上项目

1.重新编写Dockerfile文件 在原本的Dockerfile上新增参数 就是 运行jar包增加调试参数 增加调试暴漏的端口号 -agentlib:jdwptransportdt_socket,servery,suspendn,address*:50052.在运行docker容器的时候增加暴漏端口5005 3.打开idea就是正在运行的项目 4.选择远程配置 5.配…

解决MyBatis获取刚插入数据的ID值

解决MyBatis获取刚插入数据的ID值 Mybatis获取刚插入数据的ID值有很多解决方法&#xff0c;目前采用以下方式进行获取。 添加完数据后直接返回刚添加数据的id // UserDao.java public static void addUser() throws Exception{InputStream resourceAsStream Resources.getR…

idea的java代码引用proto文件报错

尝试了四种办法&#xff0c;感觉第一个和第二个比较有效。 前提是要先安装了 proto 的idea插件。 1.修改idea配置文件编译大文件的限制 proto生成的源文件有数万行&#xff0c;源文件过大导致 idea 拒绝编译过大的源文件。 解决方案&#xff1a; 如果 protoc 生成的 class 文…

程序优化 --- arthas trace命令使用

最近在做优化,通过arthas的trace命令去观察方法内的耗时情况以便对程序进行修改. 1.启动arthas之后选择需要监测的程序 2.找到需要监测的接口,一般都是直接找service例子如下: trace 类地址.类名 方法名 (中间有空格)

智能计算系统-概述

1、人工智能技术分层 2、人工智能方向人才培养 3、课程体系的建议 4、智能系统课程对学生的价值 5、智能计算系统对老师的价值 6、什么是智能计算系统 7、智能计算系统的形态 8、智能计算系统具有重大价值 9、智能计算系统的三大困难 10、开创深度学习处理器方向 11、寒武纪的国…

MOS开关电路应用于降低静态功耗

本文主要讲述MOS开关电路的应用,过了好久突然想整理一下&#xff0c;有错误的地方请多多指出&#xff0c;在做电池类产品&#xff0c;需要控制产品的静态功耗&#xff0c;即使让芯片进入休眠状态&#xff0c;依旧功率很大&#xff0c;所以在电路中加一组软开关&#xff0c;防止…

嵌入式软件工程师入何突破瓶颈?

各位关注嵌入式软件工程师发展的朋友们&#xff0c;下面来探讨一下嵌入式软件工程师该如何突破瓶颈。首先要强调的是&#xff0c;不要仅仅将自己局限在嵌入式软件工程师这一角色定位上。 事实上&#xff0c;嵌入式软件工程师已经掌握了诸多业务层面的内容&#xff0c;完全有能力…

【C++】编译原理

三、C编译 前面给大家演示了如何从写C代码到编译代码再到执行代码的全过程。这个过程中非常重要的编译环节&#xff0c;被我们一个按钮或者一个ctrlF7快捷键就给带过了。其实这个环节非常重要&#xff0c;如果你非常了解这个环节&#xff0c;你开发源代码就会更加自信和清醒&a…

pytest + yaml 框架 -61.jenkins+allure+钉钉通知添加测试结果

前言 上一篇pytest + yaml 框架 -60.git+jenkins+allure+钉钉通知反馈 已经实现测试结果用钉钉通知。 本篇继续在钉钉通知里添加测试的汇总结果,此功能在pytest-yaml-yoyo v1.5.2版本上实现。 Environment Injector 插件 在运行完用例后会生成一个summary.json 文件,汇总…

【系统架构】REST风格

系列文章目录 第一章 系统架构的演进 第二章 REST风格架构 文章目录 系列文章目录前言一、进程间的通信普通管道&#xff08;Pipe&#xff09;或者具名管道&#xff08;Named Pipe&#xff09;信号&#xff08;Signal&#xff09;信号量&#xff08;Semaphore&#xff09;消息…