本篇为新生实践课所留作业的学习笔记,记录我尚不熟悉的Python知识


 

1.保留字即关键字,是 Python 语言中内部使用的单词,代表一定语义。例如:and、class、if、else 等。保留字不能作为标识符,用在变量名、常量名、类名等地方。 Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

1 import keyword
2 print(keyword.kwlist)

2.print如果要带入多个参数,则需要用()包裹代入的多个参数,参数与参数之间用逗号隔开,参数的顺序应该对应格式字符串中的顺序

%s: 作为字符串

%d: 作为有符号十进制整数

%u: 作为无符号十进制整数

%o: 作为无符号八进制整数

%x: 作为无符号十六进制整数,a~f采用小写形式

%X: 作为无符号十六进制整数,A~F采用大写形式

%f: 作为浮点数

%e,%E: 作为浮点数,使用科学计数法

%g,%G: 作为浮点数,使用最低有效数位

3.字符串处理

(1)len函数用法:len(str),返回整型值

(2)去除指定字符(strip特殊用法)(区分大小写)

1 hello_world = '  **The world ** is big!*    '
2 char_hello_world = hello_world.strip('TH *')
3 print(char_hello_world)
4 #输出he world ** is big!
5 #连同空格消去

(3)字符串替换

source_string = 'The world is big'
print(source_string.replace('big','small'))
#输出The world is small

以上,注意使用函数后原字符串不会发生变化

4.列表

(1)在列表指定位置添加元素

1 guests=['Zhang san','Li si','Wang wu','Zhao liu']
2 guests.insert(1,'Hu qi')

(2)删除列表元素

——del list[index]

——list.remove('str')

——list.pop(index)(无索引时默认删除末尾)

(3)列表排序

使用sort会直接改变列表元素顺序,以下写法是错误的:

i=list.sort()
print(list.sort)
#结果均为None

5.字典

形式:dict[key]=value,其中key和value可以为数字、字符串、列表甚至字典

创建:dict={'key_name':value_num……}

遍历字典:

  遍历key和value(.items()):

1 menu={'fish':'40','pork':'30','potato':'20','lamb':'50'}
2 for key,value in menu.items():
3     print('\nkey:'+key)
4     print('value:'+value)

  遍历key(.keys())

  遍历value(.values())

  后两者与前者类似,不再粘贴代码。

6.函数

(1)参数

  python中函数的参数可以是给定的,即默认参数,如:

1 def plus(a,b=2):
2    c=a+b
3    return(c)
4 plus(1)
5 #输出3

  python传递的参数可以是元组和字典:

  • *args表示的是可变参数,*args接收的是一个元组;
  • **kw表示的是关键字参数,**kw接收的是一个字典。

(2)返回值

  python中函数的返回值可以为函数

1 # 定义求和函数,返回的并不是求和结果,而是计算求和的函数
 2 def lazy_plus(*args):
 3     def plus():
 4         s = 0
 5         for n in args:
 6             s = s + n
 7         return s
 8     return plus
 9 # 调用lazy_plus()时,返回的并不是求和结果,而是求和函数

  在上述例子中,我们在函数lazy_plus中又定义了函数plus,而且内部函数plus是可以引用外部函数lazy_plus的参数和局部变量的。当函数lazy_plus返回函数plus时,相关参数和变量也将会保存在返回的函数中,这种方式也称为“闭包”(Closure)。

7.for循环

1 for i in range(num):    #num是整数,此时i是下标,从0开始
2 for i in nums:             #nums是列表,此时i是nums中的每一个元素

8.迭代器(看不懂,粘贴至此)

可直接作用于for循环的数据类型如listtupledict等统称为可迭代对象:Iterable。使用isinstance()可以判断一个对象是否是可迭代对象。例如:

1 from collections import Iterable
 2 result = isinstance([],Iterable)
 3 print(result)
 4 result = isinstance((),Iterable)
 5 print(result)
 6 result = isinstance('python',Iterable)
 7 print(result)
 8 result = isinstance(213,Iterable)
 9 print(result)
10 '''
11 结果为
12 True
13 True
14 True
15 False
16 '''

所有的Iterable都可以通过iter()函数转化为Iterator。next函数用于遍历迭代器

9.常用数学库函数

abs():返回数值的绝对值,例如:

  1. >>>(-4)
  2. 4

divmod():返回两个数值的商和余数,例如:

  1. >>>(7,2)
  2. (3,1)

max():返回元素中的最大值,例如:

  1. >>>(2,6,1,7)
  2. 7

min():返回元素中的最小值,例如:

  1. >>>(2,6,1,7)
  2. 1

sum():返回传入元素之和,例如:

  1. >>>((1,2,3,4))
  2. 10
  3. >>>([1,2,3,4])
  4. 10
  5. >>>((1,2,3,4),-10)
  6. 0

10.序列操作

all():判断可迭代对象的每个元素是否都为True值,例如:

  1. >>>([1,2,3])# 列表中每个元素逻辑值均为True,返回True
  2. True
  3. >>>([0,1,2])# 列表中0的逻辑值为False,返回False
  4. False
  5. >>>(())# 空元组
  6. True

any():判断可迭代对象的元素是否有为True值的元素,例如:

  1. >>>([0,1,2])# 列表元素有一个为True,则返回True
  2. True
  3. >>>([0,0])# 列表元素全部为False,则返回False
  4. False
  5. >>>([])# 空列表
  6. False

sorted():对可迭代对象进行排序,返回一个新的列表。例如:

  1. >>>=['a','b','d','c','B','A']
  2. >>> a
  3. ['a','b','d','c','B','A']
  4. >>>(a)# 默认按字符ascii码排序
  5. ['A','B','a','b','c','d']

11.python可像C语言一样保留小数位数

print("%.2f"%a)

12.条件运算

x if XXXX else y

如果满足条件,值为x,否则为y

13.模板引用

Python 中要用关键字import来引入某个模块。比如要引用模块math,就要在文件的开头用import math来引入。在调用math模块中的函数时,引用格式为:模块名.函数名

有些时候我们只需要用到模块中的某个函数,这时不需要导入整个模块,只需要导入该函数即可。语句格式如下:from模块名import函数名1,函数名2....引用时不需要前缀,但如果两次引用的函数名相同,后一个会覆盖前一个

如果想一次性引入模块math中所有的函数,可以通过如下方式导入:fromimport*

14.格式化输出

print会自动换行,如不需要换行则在结尾加end=""

print("Hello",end="")
print("!")
#输出Hello!
使用 f-string 进行格式化输出

f-string是从 Python 3.6 才开始使用的一种格式化输出的办法,相比前面两种格式化输出,使用f-string更易读,更简洁,不易出错,而且速度更快!使用的时候通过f关键字引出,然后要输出的变量直接在输出内容中用{}引出。然后其他使用和前面的format方式类似。

1     a = 5
2     dt = {'a': 123, 'b': 666}
3     print(f"{a} {dt}")
4     #以右对齐方式输出占10位空间大小的整数,并且用0补齐输出
5     print(f"{a:>010}")
6     b = 3.1416
7     #以保留3位小数的方式输出小数,注意是四舍五入的方式
8     print(f"{b:.3f}")

format(num,'.2f')也可保留小数,可用于函数返回值


至此基本结束,预祝考试顺利