热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:python3:基本数据类型(int,bool,str)

篇首语:本文由编程笔记#小编为大家整理,主要介绍了python3:基本数据类型(int,bool,str)相关的知识,希望对你有一定的参考价值。一

篇首语:本文由编程笔记#小编为大家整理,主要介绍了python3:基本数据类型(int,bool,str)相关的知识,希望对你有一定的参考价值。



一. python基本数据类型



  • int        整数,用来进行数学运算



  • str        字符串,存放少量数据



  • bool     布尔值,用来判断True,False



  • list        列表,存放大量数据,[ ]表示



  • tuple    元组,只读列表,( ) 表示



  • dict      字典,存放大量数据,{key:value}表示



  • set        集合,存放大量数据,不重复



二.整数(int)
所有整数都是int类型。

 

bit_length() 

返回一个数的二进制长度。(了解)

 


a = 2
print(a.bit_length())

结果:
2

a
= 5
print(a.bit_length())

结果:
3



 

说明:十进制转二进制

将正的十进制数除以二,得到的商再除以二,依次类推直到商为零或1时为止,然后在旁边标各步的余数,最后倒着写出来,高位补零就OK了。

技术分享图片

三.布尔值(bool)
取值只有True、False。bool值没有操作

 

1.所有的空都是False,所有的非空都是True。

 


a = 0 # 整数0,False
print(bool(a))

s
= "" # 空字符串,False
print(bool(s))

lst
= [] # 空列表,False
print(bool(lst))

dic
= {} # 空字典,False
print(bool(dic))

a
= None # None表示空,真空,False
print(bool(a))



 

2.类型转换

把xx类型转换成yy类型,yy(xx)

 


str => int        # 字符串转整数

int(s)

 

int => str        # 整数转字符串

str(i)

 

list => tuple    # 列表转字典

tuple(lst)

 

tuple => list    # 字典转列表

list(tu)


四.字符串(str)
在python中,用‘, ", ‘‘‘, """ 引起来的内容被称为字符串。

1.切边和索引


索引

下标,切记,下标从0开始

 


s = "伊丽莎白儿时"
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
print(s[5])
# print(s[6]) # 没有6,报错了,索引不能超过边界

print(s[-1]) # 倒数第一个
print(s[-2])



 

切片

格式:[起始位置:结束位置] 或 [起始位置:结束位置:步长]

特点:1.顾头不顾尾。2.默认从左往右切。

 


s = "伊丽莎白儿时"
print(s[1:3]) # 从1切到3,但是取不到3
print(s[1:100]) # 从1切到100,如果右边已经过了最大值,相当于获取到最后
print(s[1:]) # 从1开始切,切到结尾
print(s[:2]) # 从头开始切,切到2
print(s[:]) # 从头到尾
print(s[-1:-3]) # 安装默认规则,从-1往右切,是怎样都不会切到-3的,方法在下面。
print(s[-3:-1]) # 只能从左到右切

# 给出第三个参数来控制方向,第三个参数叫步长
s = "伊丽莎白儿时"
print(s[-1:-3:-1]) # - 表示反方向,从右往左切。
print(s[1:5:3]) # 从左到右,从1到5,但不包含5,每3个取1个。
print(s[-1:-5:-2]) # 从右到左,从-1到-5,但不包含-5,每2个取1个。



 

2.字符串的相关操作


字符串是不可变的对象,所有任何操作对源字符串是不会有任何影响的。

2.1.大小写转换


capitalize()

把首字母变成大写

 

lower()

把字母变成小写

 

upper()

把字母变成大写。(重要,标红的都是必记的)

 

swapcase()

大小写互换

 

casefold()

把字母变成小写。

和lower的区别:

--lower()对某些字符支持不够好。

--casefold()对所有字母都有效,比如东欧一些字母。

 

title()

把每个单词的开头大写。

 


s = "alex is a teacher And wusir is a teacher too"

s1
= s.capitalize() # 只把alex首字母大写,并且测试时发现,把And变成小写的了。
print(s1)

s2
= s.lower() # 全部变小写
print(s2)

s3
= s.upper() # 全部变大写
print(s3)

s4
= s.swapcase() # 大小写转换,大写变小写,小写变大写
print(s4)

s2
= "БB?" # 俄美德
print(s2)
print(s2.lower()) # 德文的B,不会转换
print(s2.casefold()) # 全都可以转换成小写

s
= "alex_is a teacher And wu吴sir is a teacher too"

s5
= s.title() # 只要不是全是字母连接的开头都会大写,alex_is中a和i都大写,wu吴sir中w和s都大写
print(s5)

 



2.2.切来切去


center()

居中

 

expandtabs()

更改tab的长度

 

strip()

去掉空白(空格和换行符)

 

replace()

字符串替换

 

split()

字符串切割

切完的结果是一个列表,列表中装的是字符串,用什么切就会损失掉什么

 


s = "sp"
s1
= s.center(10) # 拉长成10,把原字符串放中间,其余位置补空白
print(s1)

s1
= s.center(10, "*") # 拉长成10,把原字符串放中间,其余位置补*
print(s1)

s
= " alex is a teacher "
s1
= s.strip() # 去掉左右两侧的空格,中间的空格不会影响
print(s1)

s2
= s.lstrip() # 去掉左边的空格,left
print(s2)

s3
= s.rstrip() # 去掉右边的空格,right
print(s3)

s
= "sp alex sp"
s1
= s.strip("sp") # 去掉左右两边的sp,空格不会去
print(s1)

s2
= s.lstrip("sp") # 去掉左边的sp,空格不会去
print(s2)

s3
= s.rstrip("sp") # 去掉右边的sp
print(s3)

s
= "alex_wusir_taibai_ritian"
s1
= s.replace("_", "A") # 将_,全部替换为大写A
print(s1)

s2
= s.replace("_", "") # 将_,全部替换为空(不是空格)
print(s2)

s3
= s.replace("_", "A", 2) # 将_,替换为A,从左到右替换2个
print(s3)

s
= "alex_wusir_taibai_ritian"
lst
= s.split("taibai") # 用taibai切,那生成的列表中,就会去掉taibai
print(lst)

s
= """我是谁
你是谁
"""
lst
= s.split("
") # 去掉换行符(

print(lst)



 

2.3.格式化输出


format()

 


# 输出的结果是一样的
s = "我叫%s, 我今年%s岁了" % ("周杰伦", "40")
print(s)

s
= "我叫{}, 我今年{}岁了".format("周杰伦", "40") # 按位置格式化
print(s)

s
= "我叫{0}, 我今年{1}岁了".format("周杰伦", "40") # 指定位置
print(s)

s
= "我叫{1}, 我今年{0}岁了".format("40", "周杰伦")
print(s)

s
= "我叫{name}, 我今年{age}岁了".format(name="周杰伦", age=40) # 指定关键字
print(s)

 



2.4.查找


startswith()

以...开头

 

endswith()

以...结尾

 

count()

统计xx在字符串中出现的次数

 

find()

查找xx在字符串中出现的位置, 只找第一次出现的位置, 没有就返回-1

 

index()

查找xx在字符串中出现的位置, 只找第一次出现的位置, 当字符串不存在的时候, 报错

 


s = "Tom is a cat"
print(s.startswith("Tom")) # 是否以Tom开头, 注意区分大小写
print(s.endswith("cat")) # 是否以cat结尾

print(s.count("a")) # 统计a出现的次数

print(s.find("a")) # 返回 7
print(s.find("A")) # 返回 -1
print(s.find("a", 8, 12)) # 切片找, 返回10

print(s.index("a")) # 返回 7
#
print(s.index("A")) # 会报错

 



2.5.条件判断


isdigit()

是否由数字组成

 

isalpha()

是否由字母组成

 

isalnum()

是否由数字和字母组成

 

isnumeric()

是否有数字组成, 可识别中文

 

isupper()

判断字符串中包含的字母是否全为大写

 

islower()

判断字符串中包含的字母是否全为小写

 


# 只列举正确(True)的判断
s1 = "123"
print(s1.isdigit()) # 数字

s2
= "abc"
print(s2.isalpha()) # 字母

s3
= "123abc"
print(s1.isalnum()) # 数字
print(s2.isalnum()) # 字母
print(s3.isalnum()) # 数字和字母

s
= "壹仟贰佰五十六萬拾"
print(s.isnumeric())

s1
= "AND"
s2
= "[email protected]"
print(s1.isupper())
print(s2.isupper())

s3
= "and"
s4
= "[email protected]"
print(s3.islower())
print(s4.islower())

 



2.6.计算字符串的长度


len()

python内置函数,通用的

 


s = "abcd"
print(len(s))

 



3.for循环


for 变量 in 可迭代对象:

    循环体

else:

    当循环结束的时候会执行

 

解释:

可迭代对象: 可以一个一个往外取值的对象.

 


s = "我是谁"
# 使用while循环
n = 0
while n < len(s):
print(s[n])
n
= n + 1

# 迭代
#
使用for循环
for c in s:
print(c)



 

in的小结:

in的两种用法



  • 在for中, 是把每一个元素获取到赋值给前面的变量.



  • 不在for中, 判断xxx是否出现在str中




 

推荐阅读
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Inno Setup区段之Components篇相关知识详解
    本文详细介绍了Inno Setup区段之Components篇相关的知识,包括Components和Types的使用方式以及各个参数的说明,希望对读者有一定的参考价值。内容涵盖了ComponentsName、Description、Types、ExtraDiskSpaceRequired、ExtraDiskSpaceRequiredFlags等多个关键词,帮助读者更好地理解和应用Inno Setup区段之Components篇的知识。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
author-avatar
jing阿囡宝_478
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有