python-数据类型

news2025/1/13 2:37:44

Python基础数据类型(int,str,bool)、格式化输出、程序交换

捕翼

于 2020-07-28 21:29:14 发布

2179
 收藏 3
分类专栏: Python3.6.5
版权

Python3.6.5
专栏收录该内容
33 篇文章0 订阅
订阅专栏
文章目录
一、程序交互
二、格式化输出
数据类型:
三、整数类型(int)
四、字符串类型(str)
五、布尔值类型(bool)
一、程序交互
name = input("please input your username : ")  #input输入的内容是字符串,若要整型或其他数据类型,则需要做相应的转换!!
age = input("please input your age : ")
hometown = input("please input your hometown : ")
print("Hello ",name+'!!!',"\nyou have ", age , "years old", "\nyou came from",hometown)
# please input your username : 山药
# please input your age : 18
# please input your hometown : 武当山
# Hello  山药!!! 
# you have  18 years old 
# you came from 武当山
1
2
3
4
5
6
7
8
9
10
二、格式化输出
# 将用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of 山药  -----------
Name  : 山药
Age   : 22
job   : 制作山药
Hobby: beautiful and sex girl
------------- end -----------------

#只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就Ok
name = input('Name:')
age = int(input('Age:'))
job = input('Job:')
hobbie = input('Hobbie:')

info = '''
-------------------info of %s ------------------- # 这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
Name    :   %s
Age     :   %d  #%d,是数字占位符
Job     :   %s
Hobbie  :   %s
-------------------end--------------------------- # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来
''' % (name,name,age,job,hobbie)
print(info)
#结果:
Name:山药
Age:18
Job:制作山药
Hobbie:beautiful and sex girl

-------------------info of 山药 -------------------
Name    :   山药
Age     :   18
Job     :   制作山药
Hobbie  :   beautiful and sex girl
-------------------end---------------------------

# 想在一条语句中的60%就是表示60%而不是占位符:
msg = "我是%s,年龄%d,目前制作山药的进度是99%%" %('山药',18)
print(msg)
# result:
# 我是山药,年龄18,目前制作山药的进度是99%
# 第一个%是对第二个%的转译,告诉Python解释器这只是一个单纯的%,而不是占位符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
数据类型:
就是对常用的各种数据类型进行了明确的划分,帮助计算机区分数字与字符等等

Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。
  其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型。列表、元组、字符串都是序列。

三、整数类型(int)
在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

int操作方法

数字主要是用于计算,所以针对于数字可以使用的方法除了那些运算之外,没有什么经常会用的方法,python给咱们提供了一种方法:bit_length()--------->快速的计算整数在内存中占用的二进制码的长度.

num = 16
print(num.bit_length()) #用十进制用二进制表示时,最少使用的位数
#返回 5
1
2
3
四、字符串类型(str)
在Python中,加了引号的字符都是字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。

s1 = '中国nb'
# 对于s1这个字符串来说,它由四个字符组成:中, 国, n, b。
1
2
1.单引号、双引号、三引号都行,单双引号可以结合使用,但是要注意配套使用

a = 'abc'
b = "oiu"
c = 12
msg = '''    #去掉msg = 则表示注释!!
aaaaaaaaaaa
bbbbbbbbbbb
ccccccccccc
'''
subject = "I'm study Python"
1
2
3
4
5
6
7
8
9
2.字符串拼接

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

subject = "I'm study Python"
teacher = "Teacher is Jack"
add = subject+','+teacher  #  +就是连接起来
print(add)
#返回I'm study Python,Teacher is Jack

subject = "I'm study Python\t"
print(subject*3)   #相乘其实就是复制自己多少次,再拼接在一起
#返回I'm study Python    I'm study Python    I'm study Python    
1
2
3
4
5
6
7
8
9
3.字符串的索引与切片

组成字符串的字符从左至右,依次排列(从零开始) :0,1,2,3…
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推

a = 'ABCDEFGHIJK'
print(a[0])  # A
print(a[3])  # D
print(a[5])  # F
print(a[7])  # H
1
2
3
4
5
切片就是通过索引(索引:索引(取不到):步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)

a = 'ABCDEFGHIJK'
print(a[0:3])  # 相当于print(a[:3]) 从开头开始取,0可以默认不写  ABC
print(a[2:5])  # 取第二个到第五个的元素,不包括第五个元素   CDE
print(a[:])    # 开头到最后  ABCDEFGHIJK
print(a[:-1])  # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 ABCDEFGHIJ
print(a[:5:2]) # 加步长 ACE
print(a[-1:-5:-2]) # 反向加步长 KI
1
2
3
4
5
6
7
4.字符串常用方法

# 统计字符串中的元素出现的个数 count()
str1 = 'abcdabcdabcd'
sum1 = str1.count('a') 
sum2 = str1.count('a',4,-1) # 支持切片操作
print(sum1)   # 3
print(sum2)   # 2

# startswith 判断是否以...开头;endswith 判断是否以...结尾
str1 = 'abcdabcdabcdefghijklmnopqrstuvwxyz'
judge = str1.startswith('a')
print(judge) # 返回的是bool值 True
judge1 = str1.startswith('b',1,-1)  # 支持切片操作
print(judge1) # True
judge2 = str1.startswith('bcd',1,7) # 多个字符也行
print(judge2) # True
judge3 = str1.endswith('yz',-1,-3)
print(judge3) # False
judge4 = str1.endswith('z',-1)
print(judge4) # True
judge5 = str1.endswith('cda',2,5)
print(judge5) # True
judge6 = str1.endswith('y',0,-1)
print(judge6) # True

#split 以什么分割,最终形成一个列表此列表不含有这个分割的元素
# 默认按照空格分隔,,包括\n \t,返回一个列表
s1 = '山药 枸杞 韭菜'
s2 = s1.split()
print(s2)  # ['山药', '枸杞', '韭菜']

s1 = '山药   \t 枸杞  \n韭菜'
s2 = s1.split()
print(s2)  # ['山药', '枸杞', '韭菜']

s1 = '山药:枸杞:韭超'
s2 = s1.split(':')
print(s2) # ['山药', '枸杞', '韭菜']

s1 = '山药 枸杞 韭超'
s2 = s1.split(':')
print(s2) # ['山药 枸杞 韭超'] 错误的示范,变成了一个字符串

s1 = 'title,Tilte,atre,'.split('t')
print(s1)   # ['', 'i', 'le,Til', 'e,a', 're,']
s11 = 'title,Tilte,atre,'.rsplit('t',1)   #从字符串最后面开始分割,1是分割次数
print(s11)  # ['title,Tilte,a', 're,']

# join  合并
s1 = 'alex'
s2 = "+".join(s1)
print(s2,type(s2))  # a+l+e+x <class 'str'>
l1 = ['山药','枸杞','韭菜'] # 列表里面的元素必须都是str类型
s3 = ':'.join(l1)
print(s3)  # 山药:枸杞:韭菜

#strip: 默认去除空白:空格,\t \n,还可以指定字符去除
name='*barry**'
print(name.strip('*'))    # barry
print(name.lstrip('*'))   # barry** 去除左边的*
print(name.rstrip('*'))   # *barry  去除右边的**

s = '  \nysx\t'
print(s)  # ysx  ysx的上面会有一行,后面会有一个\t
print(s.strip()) # ysx 
s1 = 'rre中r国qsd' 
s2 = s1.strip('reqsd')   # 中文字符中间的英文字母去除不了
print(s2)  # 中r国

#replace
name='Jack say: I have one tesla,my name is Jack'
print(name.replace('Jack','2B',)) # 2B say: I have one tesla,my name is 2B 默认全部替换
name='Jack say: I have one tesla,my name is Jack'
print(name.replace('Jack','2B',1)) # 2B say: I have one tesla,my name is Jack 指定替换次数

#is系列
name='huangmenji123'
print(name.isalnum())   # 字符串由字母或数字组成
print(name.isalpha())   # 字符串只由字母组成
print(name.isdecimal()) # 字符串只由十进制组成
eg:
s1 = input('请输入您的金额:')
if s1.isdecimal():
    print('您的金额为:',s1)
else:
    print('输入有误')
# 请输入您的金额:983798
# 您的金额为: 983798
# 请输入您的金额:skdjf
# 输入有误

#captalize,swapcase,title
name = 'abcDeFg'
print(name.capitalize()) # 首字母大写,其它大写变为小写  Abcdefg
print(name.swapcase())   # 大小写翻转   ABCdEfG
msg='shangyao say hi'
print(msg.title()) #每个单词的首字母大写  Shangyao Say Hi

# center 居中,总长度,空白处填充
a1 = 'aaaaaaaa'
ret = a1.center(20,"*")
print(ret)   # ******aaaaaaaa******   20个字符

# find index 寻找字符串中的元素是否存在
a2 = 'abcdefghijklmn'
ret = a2.find("bcde",1,6)
print(ret)  # 返回的找到的元素的索引,如果找不到返回-1  1
ret1 = a2.index("ef",4,6)
print(ret1) # 返回的找到的元素的索引,找不到报错。      4

五、布尔值类型(bool)
布尔值就两种:True,False。就是反映条件的正确与否。主要用来逻辑判断

真 1 True。
假 0 False。

# int str bool 三者数据类型之间的转换
# int ---> bool
i = 100
print(bool(i))  # True  # 非零即True
i1 = 0
print(bool(i1))  # False 零即False

# bool ---> int
t = True
print(int(t))  # 1  True --> 1
t = False
print(int(t))  # 0  False --> 0

# int -----> str
i1 = 100
str1 = str(i1)
print(str1,type(str1))

# str ------>int
s1 = '6666666'
print(int(s1))  # 6666666

# bool ----> str
print(str(True))   # True
print(str(False))  # False

# str ---> bool
# str -----> bool
s1 = '山药'
s2 = ''
s3 = None
print(bool(s1)) # True   非空即True
print(bool(s2)) # False
print(bool(s3)) # False

原文链接:https://blog.csdn.net/qq_44788449/article/details/107645690

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

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

相关文章

四维轻云地理空间数据在线管理软件能够在线管理哪些数据?

四维轻云是一款地理空间数据在线管理软件&#xff0c;支持各类地理空间数据的在线管理、浏览及分享&#xff0c;用户可不受时间地点限制&#xff0c;随时随地查看各类地理空间数据。软件还具有项目管理、场景搭建、素材库等功能模块&#xff0c;支持在线协作管理&#xff0c;便…

Spring Boot 如何让你的 bean 在其他 bean 之前完成加载 ?

问题 今天有个小伙伴给我出了一个难题&#xff1a;在 SpringBoot 中如何让自己的某个指定的 Bean 在其他 Bean 前完成被 Spring 加载&#xff1f;我听到这个问题的第一反应是&#xff0c;为什么会有这样奇怪的需求&#xff1f; Talk is cheap&#xff0c;show me the code&am…

精力管理金字塔

精力管理金字塔 由协和医学院的张遇升博士在《掌控精力&#xff1a;不疲惫的身心管理术》一书中提出&#xff0c;分层次对精力管理提出了解析和有效的建议。 模型介绍 精力管理是一个可以学会的技能&#xff0c;学会了科学的精力管理方法&#xff0c;就能使自己的精力越来越好…

实在智能RPA首推集约式“智能门户超自动化办公"新模式,加速司法、政企数字化升级

随着数字化和智能化的快速发展&#xff0c;数字技术已经深入到各个行业和领域。实在智能基于数字员工在行业的深厚理解和丰富的实践经验&#xff0c;打造一站式的智能化统一平台——智能门户&#xff0c;打破了技术壁垒和系统数据之间的割裂感&#xff0c;实现政府、企业内部信…

2023最新版本Camtasia电脑录屏软件好不好用?

在当今数字化时代&#xff0c;屏幕录制成为了许多用户制作教学视频、演示文稿、游戏攻略等内容的首选。本文将为您介绍几款常用的电脑录屏软件&#xff0c;包括Camtasia、OBS Studio、Bandicam等&#xff0c;并对其进行功能和用户体验方面的比较&#xff0c;同时给出10款电脑录…

PHP语言技术开发的手术麻醉管理系统源码

手术麻醉管理系统用于各个手术室和麻醉科&#xff0c;接受医生工作站、护士工作站发送过来的手术申请单 手术麻醉管理系统(DORIS)是应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期&#xff0c;对病人进行全程跟踪与信息管理&#xff0c;自动集成病人HIS、…

上海约瑟 HJZ-J913静态中间继电器 导轨安装 触点容量16A/250VAC

品牌&#xff1a;JOSEF约瑟&#xff0c;型号&#xff1a;HJZ-J913&#xff0c;名称&#xff1a;静态中间继电器&#xff0c;额定电压&#xff1a;48220VDC&#xff1b;48415VAC&#xff0c;触点容量&#xff1a;250V/5A&#xff0c;功率消耗&#xff1a;≤5W&#xff0c;动作时…

零入门kubernetes网络实战-31->基于bridge+veth pair+MASQUERADE技术实现内网可以访问外网

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 本篇文章我们使用nat技术来实现bridge管理的网络能够访问外网。 1、测试环境介绍 两台centos虚拟机 # 查看操作系统版本 cat /etc/centos-release # 内核…

(5)Qt—ui常用类

目录 1. QString 字符串类* 2. 容器类 2.1 顺序容器 QList 1. QString 字符串类* QString是Qt中的字符串类&#xff0c;与C和C不同的是&#xff0c;Qt的字符串使用Unicode编码。每一个字符使用一个16位的QChar&#xff0c;而不是之前8位的char&#xff0c;所以Qt处理中文没有问…

基于ssm医药药品管理系统

开发工具eclipse&#xff0c;jdk1.8 数据库mysql5.7,tomcat8 技术&#xff1a;springmvcspringmybatis(ssm) 主要功能如下&#xff1a; ①登录系统&#xff1a;管理员需要输入正确的用户名和密码来登录系统&#xff0c;从而完成各类信息的管理工作&#xff1b; ②信息查询…

前端007_类别模块_列表功能

1、需求分析 类别模块主要文章类别进行管理,首先实现类别列表功能,包含数据列表、分页、条件查询 。 2、Mock模拟接口数据 请求URL: /article/category/search请求方式: post描述: 文章类别分页条件查询列表mock.js 配置: 带分页功能,每页显示20条{"code": 2…

【网络取证篇】宝塔面板server和panel的目录功能说明

【网络取证篇】宝塔面板server和panel的目录功能说明 宝塔面板的目录结构在不同的情况下可能有所不同—【蘇小沐】 文章目录 【网络取证篇】宝塔面板server和panel的目录功能说明1、宝塔优点&#xff1a; &#xff08;一&#xff09;宝塔面板/www/server主要目录&#xff08;二…

每天一道算法练习题--Day25 第一章 --算法专题 --- ----------蓄水池抽样

蓄水池抽样 问题描述算法描述相关题目总结 力扣中关于蓄水池抽样问题官方标签是 2 道&#xff0c;根据我的做题情况来看&#xff0c;可能有三四道。比重算是比较低的&#xff0c;大家可以根据自己的实际情况选择性掌握。 蓄水池抽样的算法思维很巧妙&#xff0c;代码简单且容易…

TFT屏幕在arduino (esp 32)下的驱动,汉字显示和字库比较

一、TFT屏幕的驱动列表支持 绝大多数的tft屏幕在esp32 下都可以被 TFT_eSPI 驱动显示&#xff0c;以下清单中的驱动模块都可以用tft_espi来显示&#xff1a; // #define ILI9341_DRIVER // Generic driver for common displays //#define ILI9341_2_DRIVER // Alter…

借助国内ChatGPT平替+MindShow,飞速制作PPT

系列文章目录 后续补充 文章目录 系列文章目录前言一、科大讯飞“星火”认知大模型介绍二、使用步骤1.借助讯飞星火生成ppt的文案2.借助MindShow生成ppt 前言 随着人工智能技术的不断发展&#xff0c;越来越多的企业和个人开始利用自然语言处理技术来提高工作效率。其中&#…

【移动端网页布局】flex 弹性布局 ⑥ ( 设置主轴方向和是否自动换行 | flex-flow 样式说明 | 代码示例 )

文章目录 一、设置主轴方向和是否自动换行 : flex-flow 样式说明1、flex-flow 样式2、flex-flow 样式属性值 二、代码示例 一、设置主轴方向和是否自动换行 : flex-flow 样式说明 1、flex-flow 样式 flex-flow 样式 是 flex-direction 属性和 flex-wrap 属性的 复合写法 ; 设置…

Redis底层结构

https://mp.weixin.qq.com/s/MGcOl1kGuKdA7om0Ahz5IA 小林coding 介绍 Redis 数据结构并不是指 tring&#xff08;字符串&#xff09;、List&#xff08;列表&#xff09;、Hash&#xff08;哈希&#xff09;、Set&#xff08;集合&#xff09;和 Zset&#xff08;有序集合&am…

日撸 Java 三百行day43-44

文章目录 说明day43 插入排序思路代码 day44 希尔排序思路代码 对比 说明 闵老师的文章链接&#xff1a; 日撸 Java 三百行&#xff08;总述&#xff09;_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护&#xff1a;https://github.com/fulisha-ok/sampledat…

磁盘空间不足怎么办?释放磁盘空间的4种方法

虽然现在硬盘的空间越来越大&#xff0c;但是在这个数据爆炸的时代中&#xff0c;总是会觉得存储空间不够用&#xff0c;一不注意磁盘就满了&#xff0c;那么除了清空回收站、卸载某些程序外&#xff0c;还能怎么释放磁盘空间呢&#xff1f; 方案一&#xff1a;禁用休眠 休眠是…

KD305Y带吸收比极化指数兆欧表

一、概述 KD305Y绝缘电阻测试仪对众多的电力设备如&#xff1a;电缆、电机、发电机、变压器、互感器、高压开关、避雷器等要求做一系列的绝缘性能试验&#xff0c;首先是要做绝缘电阻测试。近年来随着电力事业的飞速发展,大容量设备的使用不断增加&#xff0c;用普通的兆欧表无…