一、知识导图

python判断公文一级二级三级标题 python一级和二级_python判断公文一级二级三级标题

二、数字类型

1、数字类型

a、Python语言提供3种数字类型:python判断公文一级二级三级标题 python一级和二级_python基本数据类型_02类型,分别对应数学中的整数、实 数和复数。

b、1010是一个整数类型,10.10是一个浮点数类型, 10 + 10j是一个复数类型。

2、整数类型

a、与数学中的整数概念一致,没有取值范围限制

b、整数类型有4种进制表示:十进制、二进制、八进 制和十六进制。默认情况,整数采用十进制,其他进制需要增加引导符号

python判断公文一级二级三级标题 python一级和二级_python_03


3、浮点类型

a、带有小数点及小数的数字

b、Python语言中的浮点数类型python判断公文一级二级三级标题 python一级和二级_python_04带有小数部

分,小数部分可以是0。例如:1010是整数, 1010.0是浮点数。

c、浮点数有2种表示方法:十进制形式的python判断公文一级二级三级标题 python一级和二级_python二级考试_05python判断公文一级二级三级标题 python一级和二级_python二级_06表示。除十进制外,浮点 数没有其他进制表示形式。下面是浮点数类 型的例子:

1010.0, -1010., 1.01e3, -1.01E-3

d、科学计数法使用字母e或者E作为幂的符号, 以10为基数,含义如下:

<a>e<b>=a∗10b

4、复数类型

a、复数类型表示数学中的复数。复数有一个基本单 位元素j,叫作“虚数单位”。含有虚数单位的数 被称为复数。例如:

11.3+4j -5.6+7j 1.23e-4+5.67e+89j

b、Python语言中,复数可以看作是二元有序实数对 (a, b),表示为:a + bj,其中,a是实数部分, 简称实部,b是虚数部分,简称虚部。虚数部分通 过后缀“J”或者“j”来表示。需要注意,**python判断公文一级二级三级标题 python一级和二级_python_07**即 1j表示复数,而j则表示Python程序 中的一个变量。

c、复数类型中实部和虚部都是浮点类型,对于复数z,可以用 z.real和z.imag分别获得它的实数部分和虚数部分

>>>(1.23e4+5.67e4j).real
12300.0
>>>(1.23e4+5.67e4j).imag
56700.0
>>>1.23e4+5.67e4j.imag # 先获得5.67e4j的虚部,再与1.23e4进行求和计算
69000.0

三、数字类型运算

1、数值运算操作符

a、Python提供了9个基本的数值运算操作符

python判断公文一级二级三级标题 python一级和二级_python二级_08


b、上标所有二元运算操作符(+、-、、/、//、%、**)都可 以与等号(=)相连,形成增强赋值操作符(+=、-=、=、 /=、//=、%=、**=)。用op表示这些二元运算操作符,增 强赋值操作符的用法如下:

python判断公文一级二级三级标题 python一级和二级_python_09

>>>x = 99
>>>x **=3 # 与x = x**3等价 >>>print(x)
970299

c、数值运算可能改变结果的数据类型,类型的改变与运
算符有关,有如下基本规则:
①整数和浮点数混合运算,输出结果是浮点数;
②整数之间运算,产生结果类型与操作符相关,/运算的结果是浮点数;
③整数或浮点数与复数运算,输出结果是复数。

>>>1010/10 # /运算的结果是浮点数
101.0
>>>1010.0//3 # 浮点数与整数运算,产生结果是浮点数
336.0
>>>1010.0 % 3  # 浮点数与整数运算,产生结果是浮点数
2.0
>>>10-1+1j #等价于10–(1+1j) 
(9+1j)

2、数值运算函数

a、Python解释器提供了一些内置函数,在这些内置函 数之中,有6个函数与数值运算相关:

python判断公文一级二级三级标题 python一级和二级_python二级考试_10

四、字符串类型及格式化

1、字符串类型
a、字符串是字符的序列表示,根据字符串的内容多 少分为单行字符串和多行字符串。
b、单行字符串可以由一对单引号(’)或双引号(") 作为边界来表示,单引号和双引号作用相同。
c、多行字符串可以由一对三单引号(’’’)或三双引 号(""")作为边界来表示,两者作用相同。

>>> print('这是"单行字符串"') 
这是"单行字符串"
>>> print("这是'单行字符串'") 
这是'单行字符串' 
>>>print("""这是'多行字符串'的第一行 
这是'多行字符串'的第二行
""")
这是'多行字符串'的第一行 
这是'多行字符串'的第二行 
>>>print('''这是"多行字符串"的第一行 
这是"多行字符串"的第二行
''') 
这是"多行字符串"的第一行 
这是"多行字符串"的第二行

d、Python语言转义符:
例如:\n表示换行、\表示反斜杠、'表示单引
号、"表示双引号、\t表示制表符(TAB)等。

>>>print("既需要'单引号'又需要\"双引号\"") 
既需要'单引号'又需要"双引号"

e、字符串的索引
I、字符串是一个字符序列:字符串最左端位置标记为0,依次 增加。对字符串中某个字符的检索被称为索引。索引的使用 方式如下:
<字符串或字符串变量>[序号]
II、如果字符串长度为L,正向递增需要以最左侧字符序号为0, 向右依次递增,最右侧字符序号为L-1;反向递减序号以最 右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。
III、字符串以Unicode编码存储,字符串的英文字符和 中文字符都算作1个字符。

>>>"青青子衿,悠悠我心。"[-5] 
'悠'
>>>s = "青青子衿,悠悠我心。" 
>>>s[5]
'悠'

f、字符串的切片
I、对字符串中某个子串或区间的检索被称为切片。切 片的使用方式如下:

<字符串或字符串变量>[N:M]

>>>"青青子衿,悠悠我心。"[8:4]
''
>>>"青青子衿,悠悠我心。"[:4] 
'青青子衿'
>>>"青青子衿,悠悠我心。"[5:]
'悠悠我心。'
>>>print("青青子衿,悠悠我心。"[5:]) 
悠悠我心。
>>>print("青青子衿,悠悠我心。"[:])
青青子衿,悠悠我心。

g、format()方法的基本使用
I、字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串是一个由字符串和槽组成的字符 串,用来控制字符串和变量的显示效果。槽用大括 号({})表示,对应format()方法中逗号分隔的参数。

>>>"{}曰:学而时习之,不亦说乎。".format("孔子") 
'孔子曰:学而时习之,不亦说乎。'

II、如果模板字符串有多个槽,且槽内没有指定序号, 则按照槽出现的顺序分别对应.format()方法中的 不同参数。

>>>"{}曰:学而时习之,不亦{}。".format("孔子","说乎")
 '孔子曰:学而时习之,不亦说乎。'

III、可以通过format()参数的序号在模板字符串槽中 指定参数的使用,参数从0开始编号

>>>"{1}曰:学而时习之,不亦{0}。".format("说乎","孔子") 
'孔子曰:学而时习之,不亦说乎。'
>>>"{1}曰:{{学而时习之,不亦{0}}}。".format("说乎","孔子")" 
'孔子曰:{学而时习之,不亦说乎}。'

h、format()方法的格式控制

I、format()方法中模板字符串的槽除了包括参数序号,还 可以包括格式控制信息。

<参数序号>:<格式控制标记>

II、其中,格式控制标记用来控制参数显示时的格式 。格式

控制标记包括:<填充><对齐><宽度>,<.精度><类型>6个 字段,这些字段都是可选的,可以组合使用

python判断公文一级二级三级标题 python一级和二级_python判断公文一级二级三级标题_11


① <填充>、<对齐>和<宽度>主要用于对显示格式的规范。

②宽度指当前槽的设定输出字符宽度,python判断公文一级二级三级标题 python一级和二级_python_12。如果该值的 实际位数小于指定宽度,则按照对齐指定方式在宽度内 对齐,python判断公文一级二级三级标题 python一级和二级_python二级考试_13

③对齐字段分别使用<、>和^三个符号表示左对齐、右对 齐和居中对齐,python判断公文一级二级三级标题 python一级和二级_python二级_14

④填充字段可以修改默认填充字符,填充字符只能有一个。

>>>s = "等级考试"
>>>"{:25}".format(s)  #左对齐,默认
'等级考试                     '
>>>"{:^25}".format(s)  #居中对齐
'            等级考试            '
>>>"{:>25}".format(s)      #右对齐
'          等级考试           '
>>>"{:*^25}".format(s)    #居中对齐且填充*号
'**********等级考试***********'
>>>"{:+^25}".format(s)   #居中对齐且填充+号
'++++++++++等级考试+++++++++++'
>>>"{:十^25}".format(s)  #居中对齐且填充汉字“十”
'十十十十十十十十十十等级考试十十十十十十十十十十十'
>>>"{:^1}".format(s)  #z指定宽度为1,不足变量s的宽度
'等级考试'

⑥<.精度><类型>主要用于对数值本身的规范
⑦<.精度>由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。小数点可以理解为对数值的有效截断。

>>>"{:.2f}".format(12345.67890)
'12345.68'
>>>"{:>25.3f}".format(12345.67890)
'                12345.679'
>>>"{:.5}".format("全国计算机等级考试")
'全国计算机'

⑧<类型>表示输出整数和浮点数类型的格式规则。
对于整数类型,输出格式包括6种:
• b: 输出整数的二进制方式;
• c: 输出整数对应的Unicode字符;
• d: 输出整数的十进制方式;
• o: 输出整数的八进制方式;
• x: 输出整数的小写十六进制方式; • X: 输出整数的大写十六进制方式;

>>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,Ʃ,425,651,1a9,1A9'

⑨对于浮点数类型,输出格式包括4种:
• e: 输出浮点数对应的小写字母e的指数形式;
• E: 输出浮点数对应的大写字母E的指数形式;
• f: 输出浮点数的标准浮点形式;
• %: 输出浮点数的百分形式。

>>>"{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
>>>"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14) # 对比输 出
'3.14e+00,3.14E+00,3.14,314.00%'

j、常用的format()方法格式控制信息

>>>"{:.2f}".format(3.1415926) # 输出小数点后两位
'3.14'
>>>"{:x}".format(1010) # 输出整数的十六机制形式 
'3f2'
>>>"{:.5}".format("这是一个很长的字符串") # 输出字符串的前5位 
'这是一个很'
>>>"{:-^10}".format("PYTHON") # 居中并填充 
'--PYTHON--'

2、字符串类型的操作

a、字符串操作符

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

python判断公文一级二级三级标题 python一级和二级_python判断公文一级二级三级标题_15

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

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

python判断公文一级二级三级标题 python一级和二级_python二级_16

>>>len("全国计算机等级考试Python语言科目") 
19
>>>chr(100)
'd'
>>>hex(1010)
'0x3f2'

c、字符串处理方法

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

python判断公文一级二级三级标题 python一级和二级_python基本数据类型_17


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

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

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

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

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

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

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

>>>"Python".center(20, "=")
'=======Python======='
>>>"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变量的元素之间,形成新的字符串

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

五、数字类型的转换

1、数字类型的转换
a、Python语言提供type(x)函数对变量x进行类型判 断,适用于任何数据类型。

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

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

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

python判断公文一级二级三级标题 python一级和二级_python二级考试_18

六、实例解析–凯撒密码

恺撒撒密码是古罗马恺撒大帝用来对军事情报进行加密 的算法,它采用了替换方法对信息中的每一个英文字符 循环替换为字母表序列该字符后面第三个字符:
原文: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
n 原文字符P,其密文字符C满足如下条件:
python判断公文一级二级三级标题 python一级和二级_python_19
n 解密方法反之,满足:
python判断公文一级二级三级标题 python一级和二级_python基本数据类型_20

1、恺撒密码-加密

chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
ord()返回值是对应的十进制整数。

比如:
txt = input('请输入明文文本:')
for t in txt:
    if 'a' <= t <= 'z':
        print(chr(ord("a") + (ord(t) - ord("a") + 3) % 26), end='')
    elif 'A' <= t <= 'Z':
        print(chr(ord("A") + (ord(t) - ord("A") + 3) % 26), end='')
    else:
        print(t, end='')

2、恺撒密码-解密

txt = input('请输入加密后的文本:')
for t in txt:
    if 'a' <= t <= 'z':
        print(chr(ord("a") + (ord(t) - ord("a") - 3) % 26), end='')
    elif 'A' <= t <= 'Z':
        print(chr(ord("A") + (ord(t) - ord("A") - 3) % 26), end='')
    else:
        print(t, end='')

交流

如果你有更好的解法或者有不同的意见,大家可以畅所欲言,共同提高进步!
群主也是小白一枚,零基础学习python,要勇于提问,大家共同探讨,共同学习进步!