9-函数

pycharm中练习代码:

 1 #视频2  函数定义
 2 def print_python():
 3     print('*************')
 4 
 5 for m in range(5):
 6     print_python()
 7 print()
 8 
 9 
10 
11 #加法
12 def sum():
13     a=1
14     b=2
15     c=a+b
16     return c
17 
18 aa=sum()
19 print(aa)
20 
21 print('--------------------------')

运行:

 1 #视频3  函数参数
 2 def sum(a,b,tt=99,*args):
 3     print(a)
 4     print(b)
 5     print(tt)
 6     print(args)
 7     c=a+b
 8     return c
 9 
10 aa=sum(1,55,888)
11 print(aa)
12 
13 print('--------------------------')
14 #视频4   不定长参数
15 def sum(a,b,tt=99,*args,**kwargs):
16     print(a)
17     print(b)
18     print(tt)
19     print(args)        #元祖形式保存
20     print(kwargs)   #字典形式保存
21     c=a+b
22     return c
23 
24 aa=sum(1,55,888,666,777,gg=10,pp=30)
25 print(aa)
26 
27 
28 print('--------------------------')
29 #视频5  拆包
30 def sum(a,b,tt=99,*args,**kwargs):
31     print(a)
32     print(b)
33     print(tt)
34     print(args)
35     print(kwargs)
36     # return c
37 
38 aa=sum(1,'python',(1,2,3,4),{'a':11,'b':22},bb='hello')
39 
40 
41 #拆包
42 def sum(a,b,tt=99,*args,**kwargs):
43     print(a)
44     print(b)
45     print(tt)
46     print(args)
47     print(kwargs)
48     # return c
49 
50 aa=sum(*(1,2,3,4),**{'aa':11,'cc':22},bb='hello')   # **只能配字典  #拆包
51 
52 
53 print('--------------------------')
54 #视频6   内置函数
55 #过滤列表 和map
56 def func1(n):
57     if n>4:
58         return n*2
59 
60 li=[11,2,3,41,1,12,2]
61 
62 aa=filter(func1,li)   #过滤不会改变传入参数的值
63 print(list(aa))
64 
65 bb=map(func1,li)
66 print(list(bb))
67 
68 
69 
70 print('--------------------------')
71 #zip配对
72 li=[1,2,3]
73 li2=[4,5,6,7]
74 tt=zip(li,li2)
75 print(list(tt))

运行:

//视频6 内置函数
>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError',
'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError',
'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning',
'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError',
'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError',
'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError',
'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError',
'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError',
'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError',
'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning',
'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration',
'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError',
'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError',
'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning',
'UserWarning', 'ValueError', 'Warning', 'ZeroDivisionError', '__build_class__',
'__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__',
'__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes',
'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits',
'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter',
'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license',
'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open',
'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set',
'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type',
'vars', 'zip']
>>>

练习:
>>> li=[1,2,3,4,5]
>>> len(li)
5
>>>
>>> len('assdfsdfsdf')
11
>>> len((1,2,3,4,5))
5
>>> min(li)
1
>>> tu=(11,22,3,4)
>>> min(tu)
3
>>> max(tu)
22
>>>

>>> li=[11,22,3,4,555,666,76]
>>> li.sort(reverse=False) //排序
>>> li
[3, 4, 11, 22, 76, 555, 666]
>>>

>>> li=[11,22,3,4,555,666,76]
>>> li
[11, 22, 3, 4, 555, 666, 76]
>>> sorted(li) //原来li不会变
[3, 4, 11, 22, 76, 555, 666]
>>> li
[11, 22, 3, 4, 555, 666, 76]
>>> list(reversed(li)) //原来li不会变
[76, 666, 555, 4, 3, 22, 11]
>>> li
[11, 22, 3, 4, 555, 666, 76]
>>>

//转换进制
>>> bin(12)
'0b1100'
>>> oct(222)
'0o336'
>>> hex(222)
'0xde'
>>> ord('a')
97
>>> ord('A')
65
>>> chr(97)
'a'
>>>

知识点:
enumerate 同时列出数据和数据下标,一般用在for循环中
eval 1取出字符串中内容
2,将字符串str当成有效的表达方式来求指并返回计算结果

exec 执行字符串或complie方法编译过的字符串
filter 过滤器
zip 将对象逐一配对
map 对于参数iterable中的每个元素都应用fuction函数,并将结果作为列表返回


>>> li=[111,222,333,444,555]
>>> enumerate(li)
<enumerate object at 0xb71499b4>
>>> list(enumerate(li))
[(0, 111), (1, 222), (2, 333), (3, 444), (4, 555)]


>>> str='3*7'
>>> str
'3*7'
>>> eval(str)
21
>>> str
'3*7'
>>> str2='[1,2,3,4]'
>>> li=[11,22,33,44]
>>> eval(str2)
[1, 2, 3, 4]
>>>

>>> str3="print('nihao')"
>>> str3
"print('nihao')"
>>> exec(str3)
nihao
>>>

>>> st='print(66) if 1>2 else print(88)'
>>> st
'print(66) if 1>2 else print(88)'
>>> exec(st)
88
>>>

作业:

 1 #1,定义一个函数,调用函数的时候可以传入两个参数,
 2 # 然后可以选择加减乘除的方法,对这传进去的参数进行加减乘除运算
 3 def infojiemian(a,b):
 4     print('{:=^25}'.format('选择'))
 5     print('1.加法')
 6     print('2.减法')
 7     print('3.乘法')
 8     print('4.除法')
 9     print('=' * 30)
10     num = int(input('请按提示选择功能:'))
11     # print(num)
12     if num == 1:
13         print('%s+%s=%s'%(a,b,a+b))
14     elif num == 2:
15         print('%s-%s=%s' % (a, b, a - b))
16     elif num == 3:
17         print('%s*%s=%s' % (a, b, a * b))
18     elif num == 4:
19         print('%s/%s=%s' % (a, b, a / b))
20     else:
21         print('你输入有误')
22 
23 infojiemian(2,4)

运行:

猜你喜欢

转载自www.cnblogs.com/tiantiancode/p/12899448.html
今日推荐