Python初学学习笔记
本篇为新生实践课所留作业的学习笔记,记录我尚不熟悉的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循环的数据类型如list、tuple、dict等统称为可迭代对象: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():返回数值的绝对值,例如:
>>> abs(-4)4
divmod():返回两个数值的商和余数,例如:
>>> divmod(7,2)(3,1)
max():返回元素中的最大值,例如:
>>> max(2,6,1,7)7
min():返回元素中的最小值,例如:
>>> min(2,6,1,7)1
sum():返回传入元素之和,例如:
>>> sum((1,2,3,4))10>>> sum([1,2,3,4])10>>> sum((1,2,3,4),-10)0
10.序列操作
all():判断可迭代对象的每个元素是否都为True值,例如:
>>> all([1,2,3]) # 列表中每个元素逻辑值均为True,返回TrueTrue>>> all([0,1,2]) # 列表中0的逻辑值为False,返回FalseFalse>>> all(()) # 空元组True
any():判断可迭代对象的元素是否有为True值的元素,例如:
>>> any([0,1,2]) # 列表元素有一个为True,则返回TrueTrue>>> any([0,0]) # 列表元素全部为False,则返回FalseFalse>>> any([]) # 空列表False
sorted():对可迭代对象进行排序,返回一个新的列表。例如:
>>> a = ['a','b','d','c','B','A']>>> a['a', 'b', 'd', 'c', 'B', 'A']>>> sorted(a) # 默认按字符ascii码排序['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中所有的函数,可以通过如下方式导入:from math import *
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')也可保留小数,可用于函数返回值
至此基本结束,预祝考试顺利

浙公网安备 33010602011771号