Python计算机二级(二)
type
status
date
slug
summary
tags
category
icon
password
一、前言
先来看一下前面都学了些什么:
一、Python语言的基本语法元素:
1、程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值 语句、引用
2、基本输入输出函数:input()、eval()、print()
3、源程序的书写风格
各位可以再复习一下,再看正文前先过一遍脑子。不会的可以去看一下前面的:
二、正文
看一下今天学什么:
一、Python语言的基本语法元素:
1、程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值 语句、引用
2、基本输入输出函数:input()、eval()、print()
3、源程序的书写风格
1、数字类型:整数类型、浮点数类型和复数类型
我记得前面的文章里讲过。
整数类型(int):字如其人,就是表示整数,比如 1,2 ······这类。
选读:
python的int类型没有范围限制,而其它语言一般有限制,例如C/C++,C#,Java等。他们的整数类型非常多,类如long(-2**64 ~~ 2**64-1),int(-2**32 ~~ 2**32-1)等
要判断这句话是否正确也很简单:
eg:
a = 123456789012314151617
print(a >= 2**32)
print(type(a))
output:
True
<class 'int'>
浮点数(float):又名小数,例如:1.0,1.2 ······等
还有一种情况,就是像a×10**n (python表达:aEn),不管a是否为小数,该形式均为小数。
eg:
a
=
14E3
print(a)
print(type(a))
output:
14000.0
#注意这个".0"
<
class
'
float
'>
选读:
C/C++,C#,Java还有一种表达方式,就是double,而double能容纳的小数范围比float大(像我就一直使用doubie,虽然这或许不是一个好习惯)
复数类型(complex):形如a+bj这样,其实就是a+b*i
我们可以在python进行复数的简单计算,例如:
b = 1+2j
c = 2+3j
print(b*c)
output:
(-4+7j)
2、数字类型的运算:数值运算操作符、数值运算函数
数值运算操作符:
加(+)、减(-),乘(*)、除(/)、整数除(//,例如:16//5 = 3 )、求余(%,例如 10%3 = 1 )、次方(**,例如:10**3 = 1000 )
eg:
c = 1+2 #加
print(c)
c = 1 - 2 #减
print(c)
c = 1*2 #乘
print(c)
c = 1/2 #除
print(c)
c = 16//5 #整数除
print(c)
c = 101%2 #求余
print(c)
c = 2**3 #乘方
print(c)
output:
3
-1
2
0.5
3
1
8
增强赋值操作符:
形如 a ()= b ,其中括号内的就是上面所讲的操作符,意思是a = a()b 即将a()b的结果赋值给a,这也就意味着你必须先声明一下a。
eg:
d += 1
error:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
d:\Untitled-1.ipynb Cell 5 in <cell line: 1>()
----> 1 d += 1
NameError: name 'd' is not defined
_______________________________________________分割线______________________________
a = 1
a += 1 # a = a + 1
print(a)
output:
2
数值运算函数:
abs() : 求绝对值 。例如:
a = -1
b = abs(a)
print(b)
a = 1+3j
b = abs(a)
print(b)
output:
1
3.1622776601683795 #根号10
divmod():计算商与余数的函数,例如:
a = divmod(4,2) # 4//2 , 4%2
print(a)
output:
(2, 0)
max()和min():这个可能要等到讲列表那里才能讲,我先把代码放在这里:
S = [1,3,8,9,25,66,87,20,2099]
print(max(S))
print(min(S))
#max()函数是计算任意多个数字里面的最大值,而min()函数是计算任意多个数字里面的最小值
output:
2099
1
这个可以通过冒泡排序和快速排序来实现
pow():计算幂次方运算的函数,相当于x**y。例如:
a = pow(3,10)
print(a)
output:
59049
他还有第三个参数,即对pow(x,y)进行求余(x**y % z)。例如:
a = pow(3,10,10**4)
print(a)
output:
9049
round():返回浮点数x的四舍五入值。形如round(x,y),其中y表示约到第几位。例如:
a = round(20.012181212121212,4)
print(a)
output:
20.0122
我们可以等到学完函数后重新写一下这些函数。
3、字符串类型及格式化:索引、切片、基本的format()格式化方法
字符串的表达方式:
- 由一对单引号或双引号表示,该方式仅用于表示单行字符串
- 由一对三单引号或三双引号,该方式可以表示多行字符串
- 如果希望在字符串中包含单引号,外面就用双引号;反之亦然。否则出错
- 如果希望在字符串中既包含单引号又包含双引号,外面用三单引号
eg:
a
=
"""
qwertyuiop
asdfghjkl
zxcvbnm
"""
b
=
'''
1234567890
-=-=-=
'''
c
=
"'Epic Games'"
d
=
'"e"'
e
=
''' "a" 'a' '''
print(a,b,c,d,e)
output:
qwertyuiop
asdfghjkl
zxcvbnm
1234567890
-=-=-=
'Epic Games' "e" "a" 'a'
看一下vscode的代码高亮:

没问题。
索引:
字符串,就是字符连成串(废话文学在线呈现)[doge]
但是,这句话告诉我们,我们是有一种方法通过来访问其内部的字符,而这种方法就叫做索引。
比如我要将 I_love_python_! 中最开始的那个字符呈现在控制台上,那么我就可以这么做:
d = "I_love_python_!"
print(d[0])#索引
output:
I
不知道你们有没有发现,第一个字符我们不会写成“1”,而是“0”,这一点我们要注意。不过我们现在可以写出一张位置图了:
I _ l o v e _ p y t h o n _ !
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
顺序索引形如:d[ l -1 ] (l为位序)
那么就有人问了,既然可以从前往后,是不是也可从后往前了。
虚构的对话:
a : 既然可以从前往后,是不是也可从后往前?
b:当然可以,不过你先想一想该怎样做。
a:我想想······是不是这样:d[-1]表示最后一个,然后再往前推
b:你是怎么想的?
a:因为需要与顺序索引有所不同,但是括号内的东西又要是int(方便查询),于是使用负号
的确如此,从后往前的索引是这样写的,但为何要这样写我也不知道。不过上面那种理解应该会方便记忆。
试着写一张反着的位次图:
I _ l o v e _ p y t h o n _ !
- 15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
形如:d[-l](l为位序)
那么你们有没有想过,有没有一种方法能选定一些字符,然后再输出呢?
这个方法就叫切片。
切片就是对字符串中某个子串或区间的检索。形如:d[a:b](0 <= a <= b <= 长度-1)
看一下实例:
d
=
"I_love_python_!"
print(d[1:5])
output:
_lov
虽然切片是这么写的([a:b]),但实际上在取值上并不是在[a,b]中进行,而是在[a,b) (左闭右开) 中进行取值,请一定要记住!
基本的format()格式化方法:
这个我好像在第一篇文章里讲过,可以去看一下:


而format()就是通过{}和:来代替以前的%。
看一下实例吧:
#format()
print(format(('baidu','com')))#元组
print("{}:{}".format('192.168.0.100',8888))
#192.168.0.100:8888
print("{server}{1}:{0}".format(8888,'192.168.1.100',server='Web Server Info :'))
#Web Server Info :192.168.1.100:8888
print("{0[0]}.{0[1]}".format(('baidu','com')))
output:
('baidu', 'com')
192.168.0.100:8888
Web Server Info :192.168.1.100:8888
baidu.com
4、字符串类型的操作:字符串操作符、处理函数和处理方法
字符串的“加减乘除”
“+”:通过“+”来实行字符串的添加(直接加在它的后面)
eg:
d = "Epic Games "
d += "IntelliJ IDEA Community Edition 2022.1.3"
print(d)
output:
Epic Games IntelliJ IDEA Community Edition 2022.1.3
“*”:通过“*”来重复字符串
eg:
c = "Microsoft VS Code" * 3
print(c)
d = "Epic Games "
d *= 3
print(d)
output:
Microsoft VS CodeMicrosoft VS CodeMicrosoft VS Code
Epic Games Epic Games Epic Games
放心,没有减和除,不过你可以想一下应该可以起什么作用,并写在评论区中。
另一种操作符 in :判断有无该字符串
eg:
d = "abc"*2 #重复"abc"
print(d)
print("a" in d ,"s" in d) #in:判断有无该字符串
output:
abcabc
True True
abcabc
字符串处理函数
这里我就不细讲了,上图:




5.类型判断和类型间转换
1,我们都知道是int类型的(不知道就看我之前的文章:Python计算机二级(一)),但是怎么样才能让其类型显示在控制台上呢?这就让我来介绍一下type()和isinstance()。
eg:
a = 1
d = "a"
print(type(a))
print(type(d))
print(type(123.0))
print(isinstance(a,int))
output:
<class 'int'>
<class 'str'>
<class 'float'>
True
可以发现,type()会直接输出成对应类型,而isinstance()是判断是否为~~类型,然后输出成bool值。
选读:
不过type与isinstance是有区别的(要不然为什么要分成两个函数呢)。
type() 不会认为子类是一种父类类型,不考虑继承关系。
而isinstance() 会认为子类是一种父类类型,考虑继承关系。
类型间转换:
一般我们使用这些函数:

eg:
a = 1.0 #浮点数
#a = "1" #string
b = int(a)#将a转换为整数,a可以是浮点数或字符串
if(type(b) == int):
print(b)
a = 1 #整数
#a = "1" #string
b = float(a)#将a转换为浮点数,a可以是整数或字符串
if(type(b) == float):
print(b)
b = str(a)#将a转换为字符串,a可以是整数或浮点数
if(type(b) == str):
print("'" + b +"'")
output:
1
1.0
'1'
结尾
现在,你已经学会了第二章的内容,你也离结业更进了一步。
看一下下一章的内容:
三、程序控制结构
1、程序的三种控制结构;
2、程序的分支结构:单分支结构、二分支结构、多分支结构;
3、程序的循环结构:遍历循环、无限循环、break和continue循环控制。
4、程序的异常处理:try-except。
看起来内容不难,应该是会很轻松。
Loading...