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

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


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

相关推荐

  1. Python字符串数据类型字符串

    2024-06-16 08:56:04       8 阅读
  2. 字符串转换为Python数据类型

    2024-06-16 08:56:04       10 阅读
  3. Rust---复合数据类型字符串(1)

    2024-06-16 08:56:04       16 阅读
  4. 数据库-列类型-字符串char类型

    2024-06-16 08:56:04       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 08:56:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 08:56:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 08:56:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 08:56:04       18 阅读

热门阅读

  1. LeetCode 189.轮转数组

    2024-06-16 08:56:04       7 阅读
  2. 中电金信:The Financial-Grade Digital Infrastructure

    2024-06-16 08:56:04       7 阅读
  3. 小程序的生命周期

    2024-06-16 08:56:04       4 阅读
  4. 如何使用python matplotlib绘制正态分布的直方图?

    2024-06-16 08:56:04       8 阅读
  5. C++ Primer Plus v6 Chapter13 exercise 4

    2024-06-16 08:56:04       7 阅读
  6. 200. 岛屿数量

    2024-06-16 08:56:04       6 阅读
  7. 如何开发高效服务(C++ )

    2024-06-16 08:56:04       6 阅读
  8. 【@Bean和@component的区别】

    2024-06-16 08:56:04       6 阅读
  9. PHP入门教程2:控制结构和函数

    2024-06-16 08:56:04       7 阅读
  10. 印象笔记使用技巧

    2024-06-16 08:56:04       6 阅读
  11. Android开启HTTP服务

    2024-06-16 08:56:04       6 阅读
  12. FFmpeg YUV编码为H264

    2024-06-16 08:56:04       6 阅读
  13. Android BMI程序设计

    2024-06-16 08:56:04       7 阅读
  14. Bootstrap 创建一个网页

    2024-06-16 08:56:04       6 阅读