python3学习笔记【简易】

0.注意事项与码风修正

1.注意到句尾分号没影响到编译,查资料知可加可不加,最好不加。当在一行中写多句代码时需要加。

2.for循环和if/else句尾冒号前不要有空格

3.没有else if,而是elif,竟然能查半天

4. 判断一个变量是否为真时,不可以用if a: flag = 1,因为if a这个语句是用来判断a的类型是不是None的(if not a也是判断None的)

5. True和False开头要大写

6. 可以写a <= x <= b,连着的不等号是可以编译的

 

1.操作

文件操作:

open(file, mode = 'r', buffering = -1, encoding = None, errors = None, newline = None, closefd = True, opener = None)

#file 指定了被打开的文件名称
#mode 指定了打开文件后的处理方式
#buffering 指定了读写文件的缓存模式;0表示不缓存,1表示缓存,如果大于1则表示缓冲区的大小。默认值-1表示由系统管理缓存
#encoding 指定对文本进行编码和解码的方式,只适用于文本模式,可以使用Python支持的任何格式,如GBK、utf8、CP936等等 
#上面的好像用不上(x

f1 = open('file1.in', 'r')
f2 = open('file2.out', 'w')
#-----一些操作后
f1.close()
f2.close()

输入:

最简

s = input() #input默认以字符串形式读入,并且一读就是一行

列表

lst = list(map(int, input().split(“ ”)))  #数组的读入,以空格分割;若以逗号分割就在split括号里填个逗号

lst = list(map(eval, input().split()))  #列表元素可以很杂,什么都行

#split()括号里不填默认是空格为分割

同时输入多个“数字”

a, b = map(int, input().split())

 

同时输入多个“东西”

a, b = map(eval, input().split())    #说成“东西”是因为随便是什么都行,不只是两个东西也行,道理和列表输入相似

 

输出:

最简

print(x)    #所有类型都可以这样输出,末尾会自动换行
print(x + y + z)    #这样可以输出多个东西
print(x, y, z)    #同上
print('*' * 5)    #连输出n个同样的变量
print("Hello, world!"), print('Hello, world!')    #亲测都对
print(a, b, c, sep = ',')    #非常方便的以逗号为间隔的输出,且末尾不会有多余逗号

 

保留n位小数的方法

print('%.3f'%(x))    #这是保留三位小数的情况,加"."号想保留几位就保留几位

 

2.变量

概念:1. 可迭代对象:

a) 集合数据类型,如list、tuple、dict、set、str等;
b) 生成器(generator),包括生成器和带yield的生成器函数(generator function)

整型:

 

浮点型:

 

字符串:

s.upper(),s.lower()    #把s串全变成大写or小写
s.isdigit()  #isdigit函数检测字符串中是否只包含数字字符。若全部是由数字字符组成的字符串,则返回True,否则返回False; isdigit函数没有参数

 

 

列表:

 

字典:

 

3.函数

·filter()

filter(function or None, iterable)
#前者为判断函数、或者是None,后者为可迭代对象

filter()函数使用指定函数描述的规则对序列中的元素进行过滤,返回包含符合规则的元素的filter对象。
如果第一个参数是一个函数的话,则将第二个可迭代对象里的每一个元素作为函数的参数进行计算,把返回True的值筛选出来;如果第一个参数是None,则直接将第二个参数中为True的值筛选出来。

一个list里面,像0、False这样的就,就会被认定为False。

Python3 filter() 函数 | 菜鸟教程 (runoob.com)

·next()

next()必须接收一个可迭代对象参数,每次调用的时候,返回该可迭代对象的下一个元素。如果所有元素均已经返回过,则抛出StopIteration异常。

 

4.关键字

·yield

使用了yield的函数不再是函数,而变成了生成器“函数”。yield“类似于”return。

生成器函数的执行结果是一个生成器对象,而不是一个具体的值。生成器对象具有惰性求值的特点,每次执行到yield语句时,返回一个值,暂停执行,直到下次再显式索要时再恢复执行

对于生成器对象,可以使用list()、tuple()将其转换为列表或元组,也可以使用for循环遍历其中的元素,或者使用内置函数next()显式索取下一个元素。

python中yield的用法详解-CSDN博客

 

·None

None是一种特殊的对象,对象类型为NoneType。

对象理应有对象的属性,但是None很特殊,其值就是None。

None常常作为函数的返回值。

if a:    
    print(1)
#if a这句话用来判断a是不是None类型

 

posted @ 2022-10-21 16:14  k43_ween  阅读(36)  评论(0)    收藏  举报