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

python基础二基本的数据类型,字符串,字符编码

Python有五个标准的数据类型:Numbers(数字)int(整型)在混合计算时,Pytho

Python有五个标准的数据类型:


  • Numbers(数字)

         int(整型)

               在混合计算时,Python会把整型转换成为浮点数。

         float(浮点型)

         complex(复数)

         bool(布尔类型)

               不能参与数学运算


  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)
  • bytes(字节数组)

 


String(字符串)

说到字符串,就必然要涉及字符的编码问题。因为在计算内部,存储的只有0与1

字符编码

 在计算机中只能处理0和1的这两个数字的数字串,为了能使用计算机处理非数字问题。科学家设计出了字符编码,它是字符映射在计算机中的数字串,不同的编码方式其数字串的长度不一样,长度越长能被编码的字符越多。

ASCII

这是由美国人设计的编码方案,它有7位,可以编码全部的美国相关字符

GBK, ISO, Unicode, UTF-8, ...

随着计算机在全世界的普及,ASCII编码已不能满足需求,因此各国出现了自己的本土编码方案,好把自己国家的文字字符使用计算机来处理,但全世界的编码方案太多不利用相关软件,文档的移植,因此出现了Unicode编码,Unicode编码容纳了各种编码方案

各种编码有如下包含关系

ASCII

各种编码都是兼容ASCII码的

 

两个概念

1.存储编码

2.显示编码(你要使用的编码)

如果存储编码与要显示的编码不一致时,就需要转码,否则就会显示出乱码!!!

这是乱码出现的根本原因

在python3中的存储编码是Unicode

如果要使用其他编码时的转换关系如下

 

字符串的操作

s = "the people's republic of china"# 索引/切片字符串
print(s[0])print(s[2])# 索引倒数第一个字符串,倒序时从-1开始
print(s[-1]) # a
# 索引倒数第二个字符串
print(s[-2]) # n# 切片操作是只包括开始不包括结尾
# [start:end:step]
print(s[1:4]) #heprint(s[0:8:2]) # tepo# 切片所有的字符串
print(s[:]) # the people's republic of china
print(s[0:]) # the people's republic of china
print(s[:-1]) #the people's republic of chin# 如果步长是负数,则是逆序输出字符串内容
print(s[::-1]) # anihc fo cilbuper s'elpoep eht# 首字母大写
print(s.capitalize()) # The people's republic of china#全大写
s1 = s.upper()# 全小写
s2 = s.lower()print(s1) # THE PEOPLE'S REPUBLIC OF CHINA
print(s2) # the people's republic of china# 大小写转换
print(s.swapcase()) # THE PEOPLE'S REPUBLIC OF CHINAs3 = "hello yes-no yy*aa+dd_cc"
# 每个单词的首字母大写, 以空白符为分隔符
print(s3.title()) # Hello Yes-No Yy*Aa+Dd_Cc# 以指定长度输出字符串,有够的地方,使用敏宇的字符填充
print(s.center(40, '=')) # =====the people's republic of china=====# 计算字符串长度
print(len(s)) # 30# 测试字符串是否以指定的字符串开头或结尾# True:hello mmfk
if s.startswith("the"):print("hello mmfk")# False
if s.endswith("cc"):print("hello china")# 在字符串中定位某字符串,成功返回index, 失败返回-1
print(s.find("china")) # 25
print(s.find("cc")) # -1# 在字符串中定位某字符串,成功返回index, 失败就报错
# print(s.index("cc")) # 找不到报错# 使用指定的分隔符将字符串分隔开来,返回的是list
words = s.split(" ")
print(words) # ['the', "people's", 'republic', 'of', 'china']# format用于连接多个字符串,这种方法比直接使用+连接要好
# format 的三种用法
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('mn',22,'girl','mn')
print(s)
name = input('请输入名字:')
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,22,'ff')
print(s)
name = input('请输入名字:')
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='fc')
print(s)# 使用指定新字符串,去替换字符串中指定的旧字符串
s4 = s.replace('china', '中国')
print(s4)# 字符串支持成员运算符
if 'chi' in s:print("到家了")# str运算符,可以将其他类型的数据转换为字符串
str(100)

 


Number

Python Number 数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。

Python 支持三种不同的数值类型:


  • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
  • 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
  • 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

number1 = 0xab # 16进制表示 171
number2 = 0o15 # 八进制表示 13x = '12'
int(x) # 将x转换为整数hex(number2) # 将number2 转换为16进制的表示
oct(number2) # 将number2 转换为8进制的表示
complex(number2, 2) #创建一个复数 complex(实部,虚部)

bool型数据 

0是False, 非0是True

空字符串是False, 非空字符串是True

#str --->bool#s = "" -----> False
#非空字符串都是True
#s = "0" -----> True


推荐阅读
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 去掉空格的方法——Python工程师招聘标准与实践
    本文介绍了去掉空格的方法,并结合2019独角兽企业招聘Python工程师的标准与实践进行讨论。同时提供了一个转载链接,链接内容为更多相关信息。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 这篇文章主要介绍了Python拼接字符串的七种方式,包括使用%、format()、join()、f-string等方法。每种方法都有其特点和限制,通过本文的介绍可以帮助读者更好地理解和运用字符串拼接的技巧。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 本文介绍了在Python中使用FOR循环实现用户输入错误值3次后终止程序的方法。作者提到了自己对这个问题的困惑和尝试,并给出了解决方案。该方案要求代码必须包含FOR循环,但作者不确定是需要一个FOR循环还是3个FOR循环。最后,作者还给出了一些示例代码来说明如何将英里转换为公里和将英寸转换为厘米。 ... [详细]
author-avatar
桐街库_509
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有