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。