python--杂谈(一)

python 风格的代码

列表推导式

b = [1,2,3,4,5,6,7,8]

chs = [value ** 2 for value in b]
print(chs)
# [1,4,9,16,25,36,49,64]

chs = [value ** 2 for value in b if value>=5]
print(chs)
#[25,36,49,64]

集合推导式

a = {1,2,3,4,5,6,7,8}

chs = {value ** 3 for value in a if value>=5}
print(chs)

字典推导式


students = {
       '越今朝' : 20,
       '越祁' : 18,
       '云天河' : 20
}

b = [key for key,value in students.items()]     #eg1
print(b)
# 输出: ['越今朝','越祁','云天河']

b = {value:key for key,value in students.items()}   #eg2
print(b)
# 输出: {20:'越今朝',18:'越祁',20:'云天河'}

b = (key for key,value in students.items())         #eg3
#print(b)
# 输出: <generator object <genexpr> at 0x03296270>
for x in b:
    print(x)
# 输出:
#       越今朝
#       越祁
#       云天河

关于None

'''
    None 空,不等同于空字符串  空的列表  0  False
'''
a = ''
b = False
c = []

print(a is None)
print(b == None)
print(c == None)

#输出 False

#None 的类型
print(type(None))
#输出 <class 'NoneType'>

判空操作

#eg1
def fun():
    return None
a = fun()
if not a:
    print('S')
else:
    print('F')

if a is None:
    print('S')
else:
    print('F')
#输出 S S

#eg2
a = []
if not a:
    print('S')
else:
    print('F')

if a is None:
    print('S')
else:
    print('F')
#输出 S F  此时a为空列表而非None

#判空操作一般如下
if a :
    ...
if not a:
    ...

关于API

什么是API?

以C语言为例,我们使用fopen()函数可以打开一个文件,感觉非常简单。
文件保存在硬盘上,要经过复杂的处理才能显示,
这些细节对我们来说是透明的,由操作系统完成。
也就是说,我们调用fopen()函数来通知操作系统,让操作系统打开一个文件。

那么,我们如何告诉操作系统打开文件呢?

看似简单的操作到底层都非常复杂,打开文件首先要扫描硬盘,找到文件的位置,然后从文件中读取一部分数据,将数据放进I/O缓冲区,放进内存;这些数据都是0、1序列,还要对照ASCII表或Unicode表”翻译“成字符,再在显示器上显示出来。这个过程如果要让程序员来完成,那简直是噩梦!

怎么办呢?操作系统想了一个很好的办法,它预先把这些复杂的操作写在一个函数里面,编译成一个组件(一般是动态链接库),随操作系统一起发布,并配上说明文档,程序员只需要简单地调用这些函数就可以完成复杂的工作,让编程变得简单有趣。这些封装好的函数,就叫做API(Application Programming Interface),即应用程序编程接口。

说得更加通俗易懂一些,别人写好的代码,或者编译好的程序,提供给你使用,就叫做API。你使用了别人代码(或者程序)中的某个函数、类、对象,就叫做使用了某个API。

猜你喜欢

转载自blog.csdn.net/qq_39469688/article/details/81505151
今日推荐