-
在else中,同样需要冒号;在else的子逻辑分支,同样需要缩进
查看全部 -
Python之if语句
if判断的一个子分支需要缩进,在Python规范中,一般使用4个空格作为缩进
在if语句的最后,有一个冒号
:
,这是条件分支判断的格式,在最后加入冒号:
,表示接下来是分支代码块
查看全部 -
按照位置取字符串的方式使用中括号
[]
访问在程序的世界中,计数是从
0
开始的,使用0
来表示第一个我们会想获取字符串的一部分(子串),这个时候我们采取切片的方式获取,切片需要在中括号
[]
中填入两个数字,中间用冒号分开,表示子串的开始位置和结束位置,并且这是半闭半开区间,不包括最后的位置查看全部 -
但是
r'...'
表示法不能表示多行字符串,也不能表示包含'
和"
的字符串。如果要表示多行字符串,可以用
'''...'''
表示:还可以在多行字符串前面添加
r
,把这个多行字符串也变成一个raw字符串:查看全部 -
\n
表示换行\t
表示一个制表符\\
表示\
字符本身查看全部 -
list可以同时放入任意类型的数据,因为Python是动态语言
查看全部 -
在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
查看全部 -
0,空字符串和None看成False,其他数值和非空字符串都看成True
查看全部 -
dict中的元素是无序的,也就是dict中元素的插入顺序和打印顺序未必一致,比如使用Python3.5之前的版本执行以下代码:
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 } print(d) # ==> {'Bob': 60, 'Ellena': 49, 'Alice': 45, 'Candy': 75, 'David': 86}
查看全部 -
函数会把可变参数当作tuple处理,但是tuple在使用上有局限性。
比如有时候想找到特定位置的参数,只能通过下标的方式去寻找,如果顺序发生变化得时候,下标就会失效,函数逻辑就得重新修改实现。
Python函数提供可变关键字参数,对于可变关键字参数,可以通过关键字的名字key找到对应的参数值。
与dict很类似,会把可变关键字参数当作dict处理。对于可变关键字参数,一般使用**kwargs来表示。
必需参数,默认参数,可变参数,可变关键字参数的函数的定义顺序
查看全部 -
可变参数:即任意个参数。通常使用*args来表示。
在使用上,Python会把可变参数定义为一个tuple,因此在函数内部,将可变参数视为tuple使用即可。比如可以通过位置下标取出对应的元素等。
定义可变参数的目的也是为了简化调用。
查看全部 -
默认参数:当这个参数没有传递的时候,参数就使用定义时的默认值。
Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数:
int('123') # ==> 123 int('123', 8) # ==> 83
int()函数的第二个参数是转换进制base,如果不传,默认是十进制。(base=10)。如果传了,就用传入的参数。
注意:由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面,否则会报错。
查看全部 -
对函数入参进行类型的校验:isinstance()函数,可以判断参数类型。它接收两个参数,第一个是需要判断的参数,第二个是类型。
有了isinstance,就可以优化my_abs函数,不在里面运行出错了。
查看全部 -
函数内部还可以调用其他函数。
如果在一个函数内部调用其自身,这个函数就是递归函数。
理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。
使用低递归函数要注意防止栈溢出。因为计算机中函数调用是通过栈实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以递归调用次数过多会导致栈溢出。
查看全部 -
有的函数没有返回结果,这个时候从函数获取到的是一个空值None。
除了返回None、一个值以外,函数也可以返回多个值。如果需要返回多个值,多个值之间使用逗号分隔即可,但是需要注意顺序。
也可以使用一个值存储函数返回的多值结果。
result = data_of_square(16) print(result) # ==> (64, 256)
注意打印的result,其实它是tuple类型,如果我们需要取出结果中的周长或者面积,使用对应位置的下标就可以获得对应的结果。
查看全部
举报