计算机二级——Python-学习笔记

计算机二级——Python

第一章 基础语法入门

Python源文件扩展名为 : .py

在IDLE中创建新文件的快捷键:CTRL+N

一、标识符

在Python程序中用来起名字的字符序列,如:变量名、类名、模块名等

标识符命名规则:

  1. 由大写字母、小写字母、数字、下划线、汉字组成

  2. 对大小写敏感,不能以数字开头

  3. 中间不能出现空格,长度没有限制

从编程角度看:见名知意即可

Python共35个保留字

二、变量与常量

变量:Python编程中用来存储数据的最小单元,它有类型、名字、值

常量:类似数学中的常数,通常情况下,变量的值就是常量

三、代码注释

# 注释内容
  """
  注释内容
  """
  '''
  注释内容
  '''
  ​
  # 下面是将10的值赋值给变量a
  a = 10
  name = "Kite" # 左边是将字符串”Kite“赋值给变量name
  pi = 3.14
  print(a)
  print(pi)
  print(name)
  """
  上面是关于变量与常量
  的例子
  """
  '''
  上面是关于变量与常量
  的例子
  '''

第二章 数据类型

一、基本数据类型-数值型-整数类型

1.整数类型
进制种类引导符号描述
十进制默认情况,例:1100,-1100
二进制0b或0B由字符0和1组成,例:0b1010,0B1010
八进制0o或0O由字符0到7组成,例:0o010,0o1010
十六进制0x或0X由字符0~9、a~f或A~F组成,例:0x1010,0X1010
  print(123) # 十进制
  print(0b1011) # 二进制
  print(0o123) # 八进制
  print(0x123) # 十六进制
2.任何进制数据转换成十进制——按权展开式

二进制——>十进制

1010=1x2的三次方+0x2的二次方+1x2的1次方+0x2的0次方=8+0+2+0=10

八进制——>十进制

167=1x8的二次方+6x8的1次方+7x8的0次方=64+48+7=119

十六进制——>十进制

24B=2x16的二次方+4x16的1次方+11x16的0次方=512+64+11=587

二、基本数据类型-数值型-浮点类型

普通浮点类型:带小数点的数字

1.23 3.14

科学计数法浮点数:有e或E组成

规定:e或E的左右两边都有数字且e或E的右边必须是整数

三、基本数据类型-数值型-复数类型

复数a+bj,其中a是实数部分,简称实部,b是虚数部分,简称虚部,虚数部分通过后缀”J“或”j“来表示

j=根号下-1,j为虚数单位

注意:当b为1时,1不能省略,即1j

对于复数z,可以使用z.real和z.imag 分别获得它的实数部分和虚数部分

a = 12 + 5j
print(a.real)   # 获取变量a的实数部分
print(a.imag)   # 获取变量a的虚数部分

三、基本数据类型-字符串

# 双引号括起来的字符串:

  
"Hello World"
# 单引号括起来的字符串

  
'Hello World'
# 一对三个双引号括起来的字符串

  
"""Hello,大家好
  这里可以换行
"""
# 一对三个单引号括起来的字符串

  
'''Hello,大家好
  这里可以换行
'''

四、基本数据类型-布尔类型

通常用来做逻辑判断

True——真

False——假

五、type()函数

可以用来识别某个变量或常量的数据类型

整数:int

浮点数:float

复数:complex

字符串:str

布尔类型:bool

a = 123
b = 3.14
c = 5 + 2j
d = "大家好"
e = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
  
age = "16"
age_new = int(age)  # 将变量age转换成整数类型并赋值给变量age_new
print(type(age_new))

第三章 运算符

一、算数运算符和字符串连接符

1.运算符-算数运算符(数值运算操作符)
运算符举例描述
+x+yx与y的和
-x-yx与y的差
*x*yx与y的积
/x/yx与y的商
//x//yx与y的商
%x%yx与y取商后的余数,也成为模运算
**x**yx的y次幂
++xx的本身
-x-xx的负值,即x*(-1)
  x = 10
  y = 4
  z = 3
  c = 2
  print(x + y)    # 加
  print(x - y)    # 减
  print(x * y)    # 乘
  print(x / y)    # 除
  print(x // y)    # 整除
  print(x % y)    # 取余数
  print(x % z)    # 取余数
  print(c ** z)    # 幂运算
2.运算符-字符串运算符
运算符举例描述
+x+y字符串x与字符串y连接
*x*y复制y次字符串x
  s1 = "how"
  s2 = " are you!"
  a = 10
  print(s1 + s2)
  print(s1 * a)
3.运算符-赋值运算符、增强赋值运算符
运算符举例描述
=x = 1将1赋值给变量x
+=x += 1与x = x+1相同
-=x -= 1与x = x-1相同
*=x *= 1与x = x*1相同
/=x /=1与x = x/1相同
//=x //= 1与x = x//1相同
%=x %=1与x = x%1相同
**=x **= 1与x = x**1相同
  a = 3
  b = 5
  a , b = b , a   # 将变量a和变量b中的值进行调换
  print(a , b)
  print("a的值为:"+ str(a))
  print("b的值为:"+ str(b))
4.运算符-关系运算符
运算符举例描述
<x < y判断x是否小于y
>x > y判断x是否大于y
<=x <= y判断x是否小于等于y
>=x >= y判断x是否大于等于y
==x == y判断x是否等于y
!=x != y判断x是否不等于y
  a = 5 # 将5的值赋值给变量a
  print(a == 5)   # 判断变量a的值等于5么
  print(a != 5)   # 判断变量a的值不等于5么
  print(a >= 5)   # 判断变量a的值大于等于5么
  print(a <= 5)   # 判断变量a的值小于等于5么

计算后的结果值为布尔数据类型

5.运算符-逻辑运算符
运算符举例描述
notnot x如果x的值为True,结果为False,如果x的值为False,结果为True
andx and yx或y任意一个为False,结果为False,否则结果为True
orx or yx 或 y 任意一个围殴True,结果为True,否则结果为False

二、input()函数

用来接收键盘输入的内容,接收的内容默认为字符串类型

  # 由键盘接收一个年龄
  age = input("请输入您的年龄:") # 接收键盘输入的内容并赋值给变量age
  print("年龄为:" + age)
  print(type(age))
  # 将接收到的年龄进行加10计算,并赋值给变量age_new
  age_new = int(age) + 10
  print("计算的年龄为:"+ str(age_new))

第四章 程序控制结构-分支结构

程序控制的三种结构

  • 顺序结构

  •   print("hello")
      print(123)

  • 分支结构

  • 循环结构

一、分支结构-单分支结构:if

  
  if <条件>:
      <语句块>
  # 判断一个成绩是否及格
  score = float(input("请输入一个成绩"))
  if score >= 60:
      print("恭喜你,成绩及格")
      print("成绩大于等于60分")

二、分支结构-二分支结构:if-else

  
  if <条件>:
      <语句块1>
  else:
      <语句块2>
  # 判断一个成绩是否及格,及格或不及格都要有对应的提示信息
  if score >= 60:
      print("恭喜你,及格了")
  else:
      print("不及格")

三、分支结构-多分支结构:if-elif-else

  
  if <条件1>:
      <语句块1>
  elif <条件2>:
      <语句块2>
  ···
  else:
      <语句块n>
  # 输入一个成绩,判断这个成绩是及格?优秀?不及格?
  score = float(input("请输入你的成绩"))
  if score >= 80:
      print("成绩优秀")
  elif score >= 60 and score < 80:
      print("成绩及格")
  else:
      print("不及格")

第五章 程序控制结构-循环结构

循环结构

  • 遍历循环:for

  • 无限循环:while

一、while循环

  
  while <条件>:
      <语句块>
  # 输出10次HelloWorld
  i = 0
  while i < 10:
      print("HelloWorld")
      i = i + 1
      
  # 输出1-100所有的值
  i = 1
  while i <= 100:
      print(i)
      i = i + 1
  ​
  # 计算1-100的和
  sum = 0 # 用来累计和
  i = 1
  while i <= 100:
      sum = sum + i
      i = i + 1
  print(sum)
  
  while <条件>:
      <语句块1>
  else:
      <语句块2>

二、循环控制-continue

continue 用来结束当前本次循环,continue 后面的内容不会执行,然后继续执行下一次循环

  # 输出1-100之间的所有偶数
  i = 0
  while i <= 100:
      i = i + 1
      if i % 2 == 0:
      print(i)
  ​
  ​
  i = 0
  while i <= 100:
      i = i + 1
      if i % 2 == 1:
          continue
      print(i)

三、循环控制:break

break 用来终止所在的循环

  # 输出1-100之间的前三个偶数
  i = 0
  count = 0 # 用来计数
  while i <= 100:
      i = i + 1
      if i % 2 == 0:
          print(i)
          count = count + 1
      if count == 3:
          break

第六章 程序控制结构-异常处理

异常处理

try-except

  
  try:
      <语句块1>
  except:
      <语句块2>
  score = float(input("请输入你的成绩:"))
  print(score)
  ​
  try:
      score = float(input("请输入你的成绩:"))
      print(score)
  except:
      print("程序出错了,请稍后···")
  
  try:
      <语句块1>
  except<异常类型>:
      <语句块2>
  except:
      <语句块3>
  try:
      a = 5
      b = 0
      print(a/b)
  except ZeroDivisionError:
      print("这里不能除以零···")
  except:
      print("出错了")

第七章 函数基础

一、函数的定义(声明)

  • 降低编程难度

  • 增加代码复用

函数的定义(声明)

  
  def <函数名>)(<参数列表>):
      <函数体>
      return <返回值>
  def fun():
      sum = 0
      i = 1
      while i <= 100:
          sum += i
          i += 1
      print(sum)
      
  fun()

二、函数的使用

<函数名>(<实际赋值参数列表>)

三、函数参数与返回值

1.参数的传递
  • 形式参数:简称形参,函数定义(声明)时使用的参数

  • 实际参数:简称实参,函数被调用时实际传入的参数

  # a和b是形参
  def fun(a , b):
      print(a + b)
  ​
  fun(5 , 6) # 5,6是实参
  ​
  m = 7
  n = 8
  fun(m,n) # m和n是实参
2.不同场景如何使用参数与返回值
  • 无参数、无返回值

  • 有参数、无返回值

  • 无参数、有返回值

  • 有参数、有返回值

  # 输出1-100之间的和
  #无参数、无返回值
  def fun1():
      sum = 0
      i = 1
      while i <= 100:
          sum += i
          i += 1
      print(sum)
  ​
  # 输出1-100之间的和
  # 无参数,有返回值
  def fun2():
      sum = 0
      i = 1
      while i <= 100:
          sum += i
          i += 1
      return sum
  print(fun2())
  ​
  # 实现传入一个成绩,判断该成绩是否及格,并输出及格或不及格
  ​
  def fun3(s):
      if s >= 60:
          print("及格")
      else:
          print("不及格")
  fun3(60)
  ​
  # 实现传入一个成绩,判断该成绩是否及格,如果及格返回True,否则返回False
  def fun4(s):
      if s >= 60:
          return True
      else:
          return False
  print(fun4(70))
3.可选参数
  
  def <函数名>(<非可选参数列表>,<可先参数>=<默认值>):
      <函数体>
      return <返回值列表>
  # 声明一个函数,可以计算两个数相加的和,默认第二个数的值为5,也可以传入参数改变
  def fun(a , b=5):
      print(a + b)
  ​
  fun(10) # 15
  fun(10 , 20)    # 30

四、函数变量的作用域

1.局部变量

在函数内部定义的变量,仅在函数内部有效,当函数退出时变量将不在存在

2.全局变量

  • 在函数之外定义的变量,在程序执行过程有效

  • 全局变量在函数内部使用时,需要提前使用保留字global声明

    语法:global <全局变量>

  # 全局变量
  n = 5
  def fun(a):
      # a和b是局部变量,因为是在函数内部声明的
      a = 10
      b = 15
      print(a , b)
      print(n)
  fun(1)
  
  n = 2
  def fun(a , b):
      global n
      n = a * b
      print(n)
  fun(5 , 6)
  print(n)

五、print()函数

输出不换行的办法

  # print(<待输出的内容>,end = "<增加的输出结尾>")
  a = 26
  print(a, end='')
  print(a)
  def fun(a , b = 5):
      print(a , b)
  fun(a = 10 , b = 20)
  fun(10 , 20)
  fun(b = 15 , a = 20)

第八章 字符串操作

一、字符串操作符

运算符举例描述
+x + y字符串x与字符串y连接
*x * y复制y次字符串x
inx in y如果x是y的子串,返回True,否则返回False
  s1 = "Hello"
  s2 = "World"
  print(s1 + s2)
  print(s1 * 5)
  
  s1 = "How are you doing?"
  print("are" in s1)
  print("aa" in s1)
  s2 = "yo"
  print(s2 in s1)

二、字符串索引、切片

1.字符串索引
  • 索引用来表示字符串中字符所在位置

  • 基于位置,可以快速找到对应的字符

  • 如果一个字符串中有n个字符,那么索引的取值范围是0~n-1

<字符串或字符串变量>[索引]

  s = "How are you doing?"
  print(s[0])
2.字符串切片
  • 使用切片可以获取字符串指定索引区间的字符,不包含结束索引位置,左开右闭

<字符串或字符串变量>[开始索引:结束索引:步长]

  s = "How are you?"
  print(s[1:6])   # 从字符串s中取第一个位置到第6个位置的字符串,不包含第6个位置的字符
  print(s[1 :])   # 从字符串s中取第一个位置到最后的字符
  print(s(:8))    # 从字符串s中取第0个位置到第8个位置的字符,不包含第8个位置的字符
  print(s[0:8])   
  print(s[:])     # 取全部
  print(s[0:11])
  print(s[0:11:1])
  print(s[0:11:2])    # 隔一个取一个
  print(s[::-1])      # 逆序排列
  print(s[-1])        # 取最后一位
3.for循环

可迭代对象:如字符串、列表、元组、字典等可以用来遍历循环的数据

  
  for <循环变量> in <可迭代对象>:
      <循环体>
  s = "How are you doing?"
  for i in s:
      print(i)

三、字符串函数

1.字符串常用函数
函数描述
len(x)返回字符串x的长度,也可返回其他组合数据类型的元素个数
str(x)返回任意类型x所对应的字符串形式
chr(x)返回Unicode编码x对应的单个字符
ord(x)返回单字符x表示的Unicode编码
hex(x)返回整数x对应十六进制数的小写形式字符串
oct(x)返回整数x对应八进制数的小写形式字符串
  # len()函数
  s = "Hello"
  print(len(s))
  # str()函数
  a = 123
  a = str(a)
  print(type(a))
  # chr()函数\ord()函数
  print(chr(97))  # 输出a
  print(ord(a))   # 输出97
  # hex()函数
  print(hex(20))
  # oct()函数
  print(oct(30))
2.字符串常用处理方法
方法描述
str.lower()返回字符串str的副本,全部字符小写
str.upper()返回字符串str的副本,全部字符大写
str.split(sep=None)返回一个列表,由str根据sep被分割的部分构成,省略sep默认以空格分隔
str.count(sub)返回sub子串出现的次数
str.replace(old,new)返回字符串str的副本,所有old子串被替换为new
str.center(width,fillchar)字符串居中函数,fillchar参数可选,当width小于字符串时原样输出
str.strip(chars)从字符串str中去掉在其左侧和右侧chars中列出的字符
str.join(iter)将iter变量的每一个元素后增加一个str字符串
  s1 = "HOW ARE YOU DOING?"
  s2 = "how are you doing?"
  ​
  print(s1.lower())
  print(s2.upper())
  ​
  s = "asd-f-ew-we-d-23-sf"
  a = s.split("-")
  print(a)
  names = "张三-李四-王五"
  print(names.split("-"))
  ​
  q = "abc123456abc54abc"
  print(q.count("abc"))
  ​
  s3 = "HelloWorld"
  s4 = s3.replace("o","O")
  print(s4)
  print(s3)
  ​
  # str.center(width,fillchar)
  s5 = "Hello"
  print(s5.center(10,"="))
  print(s5.center(10))
  print(s5.center(2))
  ​
  s6 = "  python   "
  print(s6.strip())
  print(s6.strip(" "))
  ​
  print(",".join("python"))
  
  # capitalize()  将字符串的首字母大写
  s = "hello world"
  print(s.capitalize())
  # index(sub,begin,end) 返回sub在当前字符串中第一次出现的位置,如果没有找到报错
  # find(sub,begin,end) 返回sub在当前字符串中第一次出现的位置,如果没有找到返回-1
  s = "I was thinking of taking you somewhere special for dinner tonight!"
  print(s.index("o"))
  print(s.find("o"))
  print(s.index("o",16))
  print(s.find("o",16))

四、格式化输出

1.format()方法的基本使用
  
  <模板字符串>.format(<参数列表>)
  模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果
  槽用{}表示,与format()中的参数列表对应
  print("{}说:今天天气不错!".format("小明"))
  print("{}说:今天天气{}".format("小明","不好"))
  print("{0}说:今天天气{1}".format("小明","不好"))
  # print("{}说:今天天气{}".format("小明"))  报错
  print("{0}说:今天天气{0}".format("小明"))  # 不报错两个都是小明
2.format()方法的格式控制
  
  {<参数序号>:<格式控制标记>}
<填充><对齐><宽度><,><.精度><类型>
引号符号用于填充的单个字符<左对齐;>右对齐;^居中对齐槽的设定输出宽度数字的千位分隔符适用于整数和浮点数浮点数小数部分的精度或字符串的最大输出长度整数类型b,c,d,o,x,X;浮点数类型e,E,f,%
  s = "二级考试"
  print("{:25}".format(s))    # 指定宽度大于变量本身时,补充空格
  print("{:1}".format(s)) # 指定宽度小于变量本身时,原样输出
  print("{:^25}".format(s))
  print("{:>25}".format(s))
  print("{:*^25}".format(s))
  print("{:+^25}".format(s))
  ​
  s2 = "二级考试"
  y = "+"
  print("{0:{1}^25}".format(s2,y))
  print("{0:{1}^{2}}".format(s2,y,28))
  print("{0:{1}{3}{2}}".format(s2,y,25,"^"))
  ​
  print("{:-^25,}".format(2128596465132))
  print("{:.2f}".format(3.1415926))   # 对其下一位进行四舍五入
  print("{:>25.2f}".format(3.1415926))
  print("{:.5}".format("全国二级计算机"))    # 截取字符串
  """
  b:整数二进制形式
  c:输出整数对应的Unicode字符
  d:整数十进制形式
  o:整数八进制形式
  x:整数小写十六进制形式
  X:整数大写十六进制形式
  """
  print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(276))
  # 输出结果100010100,Ĕ,276,424,114,114
  """
  e:浮点数对应的小写字母e的指数形式
  E:浮点数对应的大写字母e的指数形式
  f:标准浮点数
  %:输出浮点数百分比的形式
  """
  print("{0:e},{0:E},{0:f},{0:%}".format(3.14))
  # 输出结果3.140000e+00,3.140000E+00,3.140000,314.000000%

第九章 集合数据类型

一、集合类型-set

  • Python语言中的集合类型与数学中的集合概念一致

  • 集合用来存储无序并且不重复的数据

  • 集合中元素的类型只能是不可变数据类型,如:整数、浮点数、字符串、元组等

  • 相比较而言,列表、字典、集合类型本身都是可变数据类型

  s = {123,123,3.14,"abc","abc"}
  print(s)
  print(type(s))
1.集合类型的操作符
操作符描述
s - t返回一个新集合,包括在集合s中但不在集合t中的元素
s & t返回一个新集合,包括同时在集合s和t的元素
s ^ t返回一个新集合,包括集合s和t中非共同元素
s | t返回一个新集合,包括集合s和t中所有元素
  s = {123,43,12,45,34,21}
  t = {123,43,12,76,453,346}
  # 差集 -
  print(s - t)
  # 交集 &
  print(s & t)
  # 补集 ^
  print(s ^ t)
  # 并集 |
  print(s | t)
2.集合类型常用的操作函数与方法
函数或方法描述
s.add(x)如果数据项x不在集合s中,将x添加到s
s.remove(x)如果x在集合s中,移除该元素,不在则产生KeyError异常
s.clear()移除s中所有的元素
len(s)返回集合s的元素个数
x in s如果x是s的元素,返回True,否则返回False
x not in s如果x不是s的元素,返回True,否则返回False
  s = {123,345,3.14,5.25}
  ​
  print(len(s))
  ​
  print(123 in s)
  ​
  print(123 not in s)
  ​
  s.add(124)
  print(s)
  ​
  s.remove(123)
  print(s)
  ​
  s.clear()
  print(s)
  ​
  # 创建空集合
  s = set()
  print(s)

二、序列类型

序列类型用来存储有序并且可以重复的数据,分别为以下两种类型

  • 列表(list)

  • 元组(tuple)

1.列表类型

列表类型使用[]来表示——ls = [123,3.14,123,"abc"]

列表索引

  • 索引用来表示列表中元素的所在位置

  • 基于位置,可以快速找到其对应的列表元素

  • 如果一个列表中有n个元素,那么索引的取值范围是 0~n-1

  • <列表或列表变量>[索引]

列表的切片

  • 使用切片可以获取列表指定索引区间的元素

  
  <列表或列表变量>[开始索引:结束索引]
  <列表或列表变量>[开始索引:结束索引:步长]
  ls = [123,234,[12,1,45],[14,16]]
  print(l2[2])    # [12,1,45]
  print(l2[2][2]) # 45

常用的操作符与函数

函数或方法描述
x in s如果x是s的元素,返回True,否则返回False
x not in s如果x不是s的元素,返回True,否则返回False
len(s)返回列表s的元素个数
min(s)返回列表s中的最小元素
max(s)返回列表s中的最大元素
  ls = [123 , 321 , 456 , 3.14]
  print(len(ls))
  print(123 in ls)
  print(123 not in ls)
  print(min(ls))
  print(max(ls))

注:min()/max()进行使用不能把数字和字符串进行比较会报错,对都是字符串的进行比较按26个英文字母进行比较,首字母相同看下一个

常用操作方法

描述函数或方法
ls.append(x)在列表ls末尾处理添加一个新元素
ls.insert(i,x)在列表ls第i位增加元素x
ls.clear()清空列表ls中所有元素
ls.pop(i)将列表ls中第i个元素删除
ls.remove(x)将列表中出现的第一个元素x删除
ls.reverse()将列表ls中的元素反转
ls.index(x)列表ls中第一次出现元素x的位置
ls.count(x)列表ls中出现x的总次数
ls.copy()返回一个新列表,复制ls中所有元素
  # 创建空列表
  """
  ls = []
  ls = list()
  ls = list([])
  """
  ls = []
  ls.append(123)
  ls.append("Hello")
  print(ls)
  ​
  ls.insert(1,"world")
  print(ls)
  ​
  """
  ls.pop(2)   # 不加参数默认删除末尾的
  print(ls)
  """
  ​
  ls.remove(123)
  print(ls)
  ​
  ls1 = [123,123,3.14,65,"abc","helloWorld"]
  # ls1.reverse()
  # ls1 = ls1[::-1]
  print(ls1)
  print(ls1.index(123))
  print(ls1.count(123))
  ls1.clear()
  print(ls1)
  ​
  a = [123,234,567]
  b = a.copy()
  b[1] = 3.14
  print(a)
  print(b)
2.元组类型

元组的定义

  • 元组一旦定义就不能修改

  • 元组类型使用()来表示——t = (123,3.14,123,"abc")

元组的索引与切片与列表完全一致

常用的操作符与函数

函数或方法描述
x in s如果x是s的元素,返回True,否则返回False
x not in s如果x不是s的元素,返回True,否则返回False
len(s)返回元组s的元素个数
min(s)返回元组s中的最小元素
max(s)返回元组s中的最大元素
ls.index(x)元组ls中第一次出现元素x的位置
ls.count(x)元组ls中出现x的总次数
  ls = [123 , 234 , "abc"]
  for i in ls:
      print(i)
      
  t = (123 , 234 , "abc")
  for i in t:
      print(i)

三、字典类型

字典的定义

  • 字典类型数据主要以“键值对”的形式存储,类似汉语字典的目录形式

  • 具体格式:{<键1>:<值1>,<键2>:<值2>,······,<键n>:<值n>}

  d = {"20010101":"刘备","20010102":"关羽","20010103":"张飞","20010104":"赵云"}
  print(d)
  print(type(d))

字典索引

通过键来寻找字典中对应的值,类似查汉语字典的过程

<字典变量>[键]

  d = {"20010101":"刘备","20010102":"关羽","20010103":"张飞","20010104":"赵云"}
  print(d["20010102"])
  d["20010102"] = "马超"
  print(d)
  d["20010105"] = "张辽"
  print(d) # 给字典中加入新的键值对
函数或方法描述
len(d)返回字典d的元素个数
min(d)返回字典d中键的最小值
max(d)返回字典d中键的最大值
  d = {"20010101":"刘备","20010102":"关羽","20010103":"张飞","20010104":"赵云"}
  print(len(d))
  print(min(d))
  print(max(d))

常用操作方法

函数或方法描述
d.keys()返回所有的键信息
d.values()返回所有的值信息
d.items()返回所有的键值对
d.get(key,default)键存在则返回相应值,否则返回默认值default
d.pop(key,default)键存在则删除相应键值对,并返回相应值,否则返回默认值default
d.popitem()随机从字典中取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除
d.clear()清空字典d中所有键值对
  d = {"20010101":"刘备","20010102":"关羽","20010103":"张飞","20010104":"赵云"}
  print(d.keys())
  print(type(d.keys()))
  print(d.values())
  print(d.items())
  
  d = {"20010101":"刘备","20010102":"关羽","20010103":"张飞","20010104":"赵云"}
  for i in d:
      print(i)
  for i in d.values():
      print(i)
  for i in d.items():
      print(i)
  for k,v in d.items():
      print(k,v)

第十章 文件

一、文件的基本操作

1.文件的类型
  • 文本文件

    • 一般由单一特定编码的字符组成,如Unicode编码,内容容易统一展示和阅读,由于文本文件存在编码,可以看作是存储在磁盘上的长字符串,如一个txt格式的文本文件

  • 二进制文件

    • 直接由0和1组成,没有统一的字符编码,文件内部数据的组织格式与文件用途有关,如png格式的图片文件、mkv格式的视频文件

区别:是否有统一的字符编码

2.文件的操作

打开文件(open())-->读、写-->关闭文件(close())

打开文件

<变量名> = open(<文件路径及文件名>,<打开模式>)

打开模式描述
'r'只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
'w'覆盖写模式,文件不存在则创建,存在则完全覆盖原文件
'x'创建写模式,文件不存在则创建,存在则返回异常FileExistsError
'a'追加写模式,文件不存在则创建,存在则在源文件最后追加内容
'b'二进制文件模式
't'文本文件模式,默认值
'+'与r/w/x/a一同使用,在原功能基础上增加同时读写功能

文件的操作-常用组合

  • 以文本方式只读打开一个文件,读入后不能对文件进行修改:r

  • 以文本方式可读可写的打开一个文件,可以读入并修改文件:r+

  • 以文本方式打开一个空文件,准备写入一批内容,并保存为新文件:w

  • 以文本方式打开一个空文件或已有文件,追加形式写入一批内容,更新原文件:a+

  • 以二进制方式只读打开一个文件,读入后不能对文件进行修改:rb

读文件
方法描述
f.read(size)从文件中读入整个文件内容,参数可选,如果给出,读入前size长度的字符串或字节流
f.readline(size)从文件中读入一行内容,参数可选,如果给出,读入该行前size长度的字符串或字节流
f.readlines(hint)从文件中读入所有行,以每行元素形成一个列表,参数可选,如果给出,读入hint行
f.seek(offset)改变当前文件操作指针的位置,offset的值,0为文件开头,1为从当前位置开始,2为文件结尾
  f = open("test.txt" , encoding = "UTF-8")
  s = f.read()
  f.close()
  print(s)

相对路径和绝对路径

绝对路径:从盘符开始写

转义字符

  
  \n  换行 
  \t  tab
  \\  \

二、数据读取与存储

1.一维数据
  • 一维数据在Python中的表示方式

  • 一维数据在文件中的存储方式

  • 一维数据的处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值