-
要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数 abs(),它接收一个参数。
对于abs()函数,abs就是函数的名称,括号()内,就是函数的参数,当函数没有参数时,默认就是一个空括号。abs接收一个参数,这个参数就是需要求绝对值的数,这个参数可以是整数,也可以是浮点数abs(-100) # ==> 100 abs(20) # ==> 20 abs(-3.14159) # ==> 3.14159
需要注意的是,传递的参数数量一定要和函数要求的一致,不然将会引起错误,比如,如果在abs()函数中传入两个参数。
abs(1, 2) # 报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: abs() takes exactly one argument (2 given)
在错误提示中,清晰的说明了abs()函数只接收一个参数,但是却传递了两个参数,所以引起了错误。
其次,如果传入的参数数量是对的,但是参数的类型不能被函数所接受,也会引起错误,比如:求绝对值的函数abs(),只有数字才拥有绝对值,如果传递一个字符串进去,将会引起错误。abs('3.1415926') # 报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: bad operand type for abs(): 'str'
这里错误提示说,str类型是错误的参数类型。
除了abs()函数,还有很多常见的函数,比如cmp()函数,可以比较两个数的大小,这个时候,cmp()函数就接收两个参数。
对于cmp(x, y),如果x < y 返回 -1,如果x == y 函数返回0,如果x > y函数返回1。cmp(1, 2) # ==> -1 cmp(2, 1) # ==> 1 cmp(3, 3) # ==> 0
函数abs()和函数cmp()书上没有
查看全部 -
1,不会报错的删除方法discard()#书上没有
2,
集合的子集和超集
set提供方法判断两个set之间的关系,比如两个集合set,判断其中一个set是否为另外一个set的子集或者超集。
s1 = set([1, 2, 3, 4, 5]) s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9]) # 判断s1是否为s2的子集 s1.issubset(s2) # ==> True # 判断s2是否为s1的超集 s2.issuperset(s1) # ==> True
判断集合是否重合
有时候需要判断两个集合是否有重合的地方,如果使用传统的方法,需要使用for循环一个一个的去判断,非常麻烦,set提供
isdisjoint()
方法,可以快速判断两个集合是否有重合,如果有重合,返回False,否则返回True。s1 = set([1, 2, 3, 4, 5]) s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9]) s1.isdisjoint(s2) # ==> False,因为有重复元素1、2、3、4、5
书上没有
查看全部 -
update()括号中是列表
查看全部 -
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key, value in d.items():
print(key, value)
for score in value:
print(key, score)
#for key, value in d.items(): 把字典里面的项迭代出来
查看全部 -
d['Alice'].extend([50, 61, 66])
#注意上面的中括号
查看全部 -
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
name1 = ['Alice', 'Bob','Candy',' Mimi', 'David']
for name in name1:
if name in d.keys():
print(d.get(name))
else:
print(d.get(name))
# if name in d.keys():可以改成>>>if name in d
效果相同
查看全部 -
T = (1, 'CH', [3, 4]) L = T[2] print(L) # ==> [3, 4] # 尝试替换L中的元素 L[1] = 40 print(L) # ==> [3, 40] print(T) # ==> (1, 'CH', [3, 40])
#书上没有的方法
查看全部 -
要表示字符串
Bob said "I'm OK"
由于'
和"
会引起歧义,因此,我们在它前面插入一个\
表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又可以表示为'Bob said \"I\'m OK\".'
注意:转义字符
\
不计入字符串的内容中常用的转义字符还有:
\n
表示换行\t
表示一个制表符\\
表示\
字符本身查看全部 -
与运算
只有两个布尔值都为 True 时,计算结果才为 True。
或运算
只要有一个布尔值为 True,计算结果就是 True。
非运算
把True变为False,或者把False变为True
在Python中,布尔类型还可以与其他数据类型(字符串,数字等)做 and、or和not运算,因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True
not计算的优先级是高于and和or的
a = True print(a and 0 or 99) # ==> 99
True and 0
计算结果是0
继续计算0 or 99
计算结果是 99短路计算
在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
查看全部 -
四则运算 + - * /
取模运算 % 即取余数
地板除
得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行
小数点位数
round(),例如round(a,2) 即数据a保留两位小数
查看全部 -
合法的变量名
变量名由大小写英文字母、数字和下划线
_
组成变量不能用数字开头
变量尽量不要和Python关键字重合(比如前面学习过的:and、or、not,否则可能导致Python原有关键字发挥不出作用)
定义变量
定义变量的方式很简单,通过
变量名
=数据
,即可定义一个变量。查看全部 -
Python基础数据类型:整数,浮点数,字符串,布尔值,空值。
二进制0b ,十六进制0x ,
浮点数即小数 ,10用e替代
字符串对应生活中的就是非数字类型的内容,比如一个句子,一段话
一个布尔值只有True、False两种值,要么是True,要么是False
布尔值可以用
and
、or
和not
运算(注意and
,or
,not
都是Python语言本身的关键字)。空值是Python里一个特殊的值,用
None
表示。注意,None和0是不一样的,None不能理解为0
查看全部 -
字符串前面加r,可以避免整段字符串里需要过多转义的麻烦,查看全部
-
round,2 保留小数点后两位查看全部
-
round, 2 保留小数点后两位查看全部
举报