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()格式化方法

字符串的表达方式:
  1. 由一对单引号或双引号表示,该方式仅用于表示单行字符串
  1. 由一对三单引号或三双引号,该方式可以表示多行字符串
  1. 如果希望在字符串中包含单引号,外面就用双引号;反之亦然。否则出错
  1. 如果希望在字符串中既包含单引号又包含双引号,外面用三单引号
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的代码高亮:
notion image
没问题。
索引:
字符串,就是字符连成串(废话文学在线呈现)[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()格式化方法:
这个我好像在第一篇文章里讲过,可以去看一下:
notion image
notion image
而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
字符串处理函数
这里我就不细讲了,上图:
notion image
notion image
notion image
notion image

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() 会认为子类是一种父类类型,考虑继承关系。
类型间转换:
一般我们使用这些函数:
notion image
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...

没有找到文章