python-基本数据类型二

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: hello,这里是Token_w的文章,主要讲解python的基础学习,希望对大家有所帮助整理不易,感觉还不错的可以点赞收藏评论支持,感谢!

4、字符串类型的操作


4.1 字符串操作符


  • 针对字符串,Python语言提供了几个基本操作符



name = "Python语言" + "程序设计"
print(name)
# 'Python语言程序设计'
print("等级考试!" * 3)
# '等级考试!等级考试!等级考试!'
print("语言" in name)
# True
print('Y' in name)
# False

4.2 字符串处理函数

  • Python语言提供了一些对字符串处理的内置函数



print(len("全国计算机等级考试Python语言科目"))
# 19
print(chr(10000))
# '✐‘
print(hex(1010))
# '0x3f2'



4.3 字符串处理方法


  • 方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,而方法则采用.func(x)形式调用。方法仅作用于前导对象。




  • str.split(sep) 能够根据sep分隔字符串str,分割后的内容以列表类型返回。


print("Python is an excellent language.".split())
# ['Python', 'is', 'an', 'excellent', 'language.']
print("Python is an excellent language.".split('a'))
# ['Python is ', 'n excellent l', 'ngu', 'ge.']
print("Python is an excellent language.".split('an'))
# ['Python is ', ' excellent l', 'guage.']


  • str.count(sub)方法返回字符串str中出现sub的次数,sub是一个字符串。


print("Python is an excellent language.".count('a'))
# 3


  • str.replace(old, new)方法将字符串str中出现的old字符串替换为new字符串,old和new的长度可以不同。


print("Python is an excellent language.".replace('a', '#'))
# 'Python is #n excellent l#ngu#ge.'
print("Python is an excellent language.".replace('Python', 'C'))
# 'C is an excellent language.'


  • str.center(width, fillchar)方法返回长度为width的字符串,其中,str处于新字符串中心位置,两侧新增字符采用fillchar填充,当width小于字符串长度时,返回str。其中,fillchar是单个字符。


print("Python".center(20, "="))
# '=======Python======='
print("Python".center(2, "="))
# 'Python'
  • str.strip(chars)从字符串str中去掉在其左侧和右侧chars中列出的字符。chars是一个字符串,其中出现的每个字符都会被去掉。


print(" ==Python== ".strip(' '))
# '==Python=='
print(" ==Python== ".strip(' ='))
# 'Python'
print(" ==Python== ".strip(' =n'))
# 'Pytho'



  • str.join(iter)中iter是一个具备迭代性质的变量,该方法将str字符串插入iter变量的元素之间,形成新的字符串。



print(" ".join('PYTHON'))
# 'P Y T H O N'
print(",".join('12345'))
# '1,2,3,4,5'
print(",".join(['1', '2', '3', '4', '5']))
# '1,2,3,4,5'



5、类型判断和类型间转换


5.1 数字类型的转换



  • Python语言提供type(x)函数对变量x进行类型判断,适用于任何数据类型。



n = eval(input('请输入一个数字:'))
if type(n) == type(123):
    print("输入的数字是整数。")
elif type(n) == type(11.3):
    print("输入的数字是浮点数。")
else:
    print("无法判断输入类型。")


  • 数值运算操作符可以隐式地转换输出结果的数字类型,例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。


  • 此外,通过内置的数字类型转换函数可以显式地在数字类型之间进行转换





6、实例解析:恺撒密码


  • 恺撒撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符:
    原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C


  • 原文字符P,其密文字符C满足如下条件:
    C = ( P + 3 ) mod 26
  • 解密方法反之,满足:
    P = ( C – 3 ) mod 26


6.1 恺撒密码-加密


  • 恺撒密码的加密算法程序首先接收用户输入的文本,然后对字母a-z和字母A-Z按照密码算法进行转换


# CaesarEncode.py
ptxt = input("请输入明文文本: ")
for p in ptxt:
        if "a" <= p <= "z":
                print(chr(ord("a")+(ord(p)-ord("a")+3)%26), end='')
        elif "A" <= p <= "Z":
                print(chr(ord("A")+(ord(p)-ord("A")+3)%26), end='')
        else:
                print(p, end='')


>>>
请输入明文文本: This is an excellent Python book.
Wklv lv dq hafhoohqw Sbwkrq errn.


6.2 恺撒密码-解密



  • 恺撒密码的解密算法程序首先接收用户输入的加密文本,然后对字母a-z和字 母A-Z按照密 码算法进行反向转换


# CaesarDecode.py
etxt = input("请输入加密后文本: ")
for p in etxt:
        if "a" <= p <= "z":
                print(chr(ord("a")+(ord(p)-ord("a")-3)%26), end='')
        elif "A" <= p <= "Z":
                print(chr(ord("A")+(ord(p)-ord("A")-3)%26), end='')
        else:
                print(p, end='')


>>>
请输入加密后文本: Wklv lv dq hafhoohqw Sbwkrq errn.
This is an excellent Python book.

总结


具体讲解了计算机中常用的数字类型及操作,包括Python数值运算操作符和数值运算函数。进一步讲解了字符串类型及格式化、字符串操作符、字符串处理函数和字符串处理方法等。最后,还介绍了类型判断和类型转换的基本方法,通过对恺撒密码及其变种若干实例的讲解帮助读者加深对数据类型操作的理解。

目录
相关文章
|
5月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
55 1
|
1月前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
92 8
|
2月前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
29 6
|
2月前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
44 6
|
3月前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
69 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
35 0
|
3月前
|
编译器 数据安全/隐私保护 Python
Python--基本数据类型
【10月更文挑战第4天】
|
3月前
|
存储 Python
python数据类型、debug工具(一)
python数据类型、debug工具(一)
|
3月前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
32 3
|
4月前
|
存储 Java C++
30天拿下Python之数据类型
30天拿下Python之数据类型
45 4