-
如果在一个函数内部调用其自身,这个函数就是递归函数。
计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示
当输入值 n 等于1时,函数返回1,因为任何数的0阶乘都定义为1。
对于所有大于1的 n 值,函数通过调用自身 fact(n - 1) 来逐步减小问题规模,并将结果与当前的 n 相乘,从而实现阶乘的计算过程。
递归情况:对于 n > 1,函数调用 fact(n - 1) 来计算 (n - 1)!,然后将其乘以当前的 n,得到 n!。
查看全部 -
return返回结果可以为None
除了返回None、一个值以外,函数也可以返回多个值,在函数中,如果需要返回多个值,多个值之间使用逗号分隔即可,但是需要注意顺序。
查看全部 -
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
new_names = ['Hally', 'Isen', 'Jenny', 'Karl']
name_set = set(names)
name_set.update(new_names) # ==> set(['Jenny', 'Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl'])
print(name_set)查看全部 -
交作业:
八个字就八个字呗
查看全部 -
1.在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号()、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。return表示返回的意思,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。
查看全部 -
>>> print('\', \", \\, \\\, \\n, \\t')
', ", \, \\, \n, \t
解析:在此语法中,\只有成功转意特殊字符才会消除,比如'\\\,'中,第一个\转意了第二个\使其成为普通字符,第三个\后的,为普通字符,不满足转意条件,所以'\\\,'的输出值
为\\, 。
常用的转义字符还有:
\n表示换行
\t 表示一个制表符
\转意特殊字符
(有错误的地方还请大神多多指教)查看全部 -
>>> a='python'
>>> print('holo',a or 'world')
holo python
解析:因为a的布尔值为true,根据or运算法则a or 'world'的取值为a,所以输出值为:
holo python
>>> b=''
>>> print('holo',b or 'world')
holo world
解析:因为b为空字符串布尔值为false,同上
b or 'world'.的取值为'world'所以输出值为:holo world
>>> c=' '
>>> print('holo',c or 'world')
holo
解析:因为c为 空格字符串 布尔值为true
同理,c or 'world'的取值为c所以输出值为:holo (空格)
(有错误的地方还请大佬多多指教!)查看全部 -
b=''
print('holo,',b or 'world')
holo, world
print('holo',b or 'world')
holo world
a='python'
print('holo',a or 'world')
holo python查看全部 -
《编程必备基础知识》查看全部
-
我们把封装重复逻辑代码的过程叫做抽象.函数就是一种代码抽象的方式。
abs()函数:求绝对值的函数 abs(),它接收一个参数数字。
cmp()函数,可以比较两个数的大小,这个时候,cmp()函数就接收两个参数。对于cmp(x, y),如果x < y 返回 -1,如果x == y 函数返回0,如果x > y函数返回1。
int()函数可以将合法的其它类型数据转换为整数.
str()函数可以将其它类型的数据转换为字符串。
sum()函数接收一个list作为参数,并返回list所有元素之和
Python内置的大部分函数文档:https://docs.python.org/3/library/functions.html
内置函数及其简要功能说明:
abs():返回数字(整数、浮点数或复数)的绝对值。
all():检查可迭代对象中的所有元素是否都为True。
any():如果可迭代对象中有任意元素为True,则返回True。
bool():将对象转换为布尔类型。
bytearray():创建一个可变字节数组。
dir():列出一个对象的所有属性和方法。
delattr():删除对象的属性。
dict():创建一个字典。
enumerate():将可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。
filter():根据提供的函数测试条件,过滤序列并返回通过测试的元素的新列表。
float():将对象转换为浮点数。
getattr():获取对象的属性值。
help():提供交互式帮助或者显示有关模块、类、函数、方法等的帮助信息。
int():将对象转换为整数。
len():返回对象(如列表、元组、字符串等)的长度。
list():将可迭代对象转换为列表。
max():返回序列或数值的最大值。
min():返回序列或数值的最小值。
open():打开文件,并返回一个文件对象用于读写操作。
print():输出指定的表达式到控制台。
range():生成一个整数序列,通常用于循环遍历。
set():创建一个无序且不包含重复元素的集合。
str():将对象转换为字符串形式。
tuple():将可迭代对象转换为元组。
type():返回对象的类型。
查看全部 -
常用的转义字符还有:
\n表示换行
\t 表示一个制表符
\\表示 \ 字符本身查看全部 -
not计算的优先级是高于and和or的。
True and not False # ==> True
短路计算
在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
在计算a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
查看全部 -
set集合元素删除:除了使用remove()方法删除元素以外,还可以使用discard()方法删除元素,并且,和remove()不同的是,当元素不存在时,使用discard()并不会引发错误
清除所有元素的方法clear():set集合.clear()
判断集合是否重合: set提供isdisjoint()方法,可以快速判断两个集合是否有重合。如果有重合(即两个集合中有相同的元素),isdisjoint()会返回False,否则返回True。
子集判断: 判断一个集合是否是另一个集合的子集,应该使用issubset()方法,而不是isdisjoint()方法。正确的用法是:set集合1.issubset(set集合2),如果set集合1中的所有元素都在set集合2中,那么返回True,否则返回False。
超集判断方法: 判断一个集合是否是另一个集合的超集,应该使用issuperset()方法。正确的用法是:set集合2.issuperset(set集合1),如果set集合2包含了set集合1中的所有元素,那么返回True,否则返回False。
intersection()方法用于计算两个或多个集合的交集。它返回一个新的集合,其中包含了所有同时存在于传入集合中的元素。
intersection()方法赋值变量可以直接打印元素出来,而isdisjoint()方法不能直接打印元素.
查看全部 -
set提供了remove()方法允许我们删除set中的元素。,需要注意的是,如果remove的元素不在set里面的话,那么将会引发错误。
set集合.remove(去除元素).
set_name.remove(element)
参数解释:
set_name:这是你要修改的集合的名称。
element:这是你要从集合中删除的元素。
查看全部 -
set提供了add()方法,我们可以使用add()方法,往set里面添加单个元素。
如果添加的元素已经存在于集合中,add()方法不会报错,也不会对集合产生任何影响,因为集合中的元素是唯一的。
set提供了update()方法,可以一次性给set添加多个元素.它可以接受一个可迭代对象(如列表、元组、集合或其他set)作为参数,并将其中的所有元素添加到原set集合中。如果添加的元素已经在集合中,同样不会报错,也不会对集合产生额外的影响。
原set集合.update(新set集合).
查看全部
举报