<jupyter_start><jupyter_text>函数- 函数可以用来定义可重复代码，组织和简化- 一般来说一个函数在实际开发中为一个小功能- 一个类为一个大功能- 同样函数的长度不要超过一屏  定义一个函数def function_name(list of parameters):        do something![](../Photo/69.png)- 以前使用的random 或者range 或者print.. 其实都是函数或者类<jupyter_code>def jiou():
    num = eval (input('>>'))
    if num % 2==0:
        print('偶数')
    else:
        print('奇数')
jiou()
def fun1():
    num_ = eval (input('>>'))
    print(num_ **3)
    print(num_ **2)
fun1()<jupyter_output>>>2
8
4<jupyter_text>调用一个函数- functionName()- "()" 就代表调用 ![](../Photo/70.png)  带返回值和不带返回值的函数- return 返回的内容- return 返回多个值- 一般情况下，在多个函数协同完成一个功能的时候，那么将会有返回值 ![](../Photo/71.png)- 当然也可以自定义返回None  EP：![](../Photo/72.png)  类型和关键字参数- 普通参数- 多个参数- 默认值参数- 不定长参数<jupyter_code>import os
def kuajiang(name):
    os.system('say {}你真是一个小机灵鬼'.format(name))
kuajiang(11)<jupyter_output><empty_output><jupyter_text>普通参数  多个参数  默认值参数  强制命名  不定长参数- \*args> - 不定长，来多少装多少，不装也是可以的  - 返回的数据类型是元组  - args 名字是可以修改的，只是我们约定俗成的是args- \**kwargs > - 返回的字典  - 输入的一定要是表达式（键值对）- name,\*args,name2,\**kwargs  使用参数名  变量的作用域- 局部变量 local- 全局变量 global- globals 函数返回一个全局变量的字典，包括所有导入的变量- locals() 函数会以字典类型返回当前位置的全部局部变量。  注意：- global ：在进行赋值操作的时候需要声明- 官方解释：This is because when you make an assignment to a variable in a scope, that variable becomes local to that scope and shadows any similarly named variable in the outer scope.- ![](../Photo/73.png)  Homework- 1![](../Photo/74.png)<jupyter_code>def wujiaoshu(num):
#     for num in range(100)
    count = 0  
    for i in range(1,101):
            num = int((i * ( 3 * i - 1) )/ 2 )
            count += 1
            if num < 100000:
                print(num,' ',end=' ') 
                if count % 10 == 0:
                        print( )

wujiaoshu(10000)<jupyter_output>1   5   12   22   35   51   70   92   117   145   
176   210   247   287   330   376   425   477   532   590   
651   715   782   852   925   1001   1080   1162   1247   1335   
1426   1520   1617   1717   1820   1926   2035   2147   2262   2380   
2501   2625   2752   2882   3015   3151   3290   3432   3577   3725   
3876   4030   4187   4347   4510   4676   4845   5017   5192   5370   
5551   5735   5922   6112   6305   6501   6700   6902   7107   7315   
7526   7740   7957   8177   8400   8626   8855   9087   9322   9560   
9801   10045   10292   10542   10795   11051   11310   11572   11837   12105   
12376   12650   12927   13207   13490   13776   14065   14357   14652   14950<jupyter_text>- 2 ![](../Photo/75.png)<jupyter_code>def zhengshuhe():
    n1 = 0
    n = eval(input('一个整数'))
    while n % 10 !=0:
        n1 += n % 10
        n = n // 10
    print('这个整数所有数字的和为：',n1+n )

zhengshuhe()<jupyter_output>一个整数6
这个整数所有数字的和为： 6<jupyter_text>- 3![](../Photo/76.png)<jupyter_code>def hanshu(a,b,c):
    #a,b,c= eval(input('输入三个整数：'))
    if a > b and a > c:
        print(str(a) ,end =' ' )
        if b > c:
            print(str(b) + ' ' + str(c))
        elif c > b:
            print(str(c)+ ' ' + str(b))
    elif b > a and b > c: 
        print(str(b) ,end =' ' )
        if a > c:
            print(str(a)  +  ' ' +str(c))
        elif c > a:
            print(str(c) + ' ' + str(a))
    elif c > a and c > b: 
        print(str(c) ,end =' ' )
        if b > a:
            print(str(b)  +  ' ' + str(a))
        elif a > b:
            print(str(a)  + ' ' + str(b))

hanshu(7,10,9)<jupyter_output>10 9 7<jupyter_text>- 4![](../Photo/77.png) - 5![](../Photo/78.png) - 6![](../Photo/79.png)<jupyter_code>def tianshu():    
    for year in range(2010,2021):
        #year = print('输入一个2010-2020其中的一年：')
        if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
            print(year,'年有366天')
        else:
            print(year,'年有365天')

tianshu()<jupyter_output>2010 年有365天
2011 年有365天
2012 年有366天
2013 年有365天
2014 年有365天
2015 年有365天
2016 年有366天
2017 年有365天
2018 年有365天
2019 年有365天
2020 年有366天
{'fraction_non_alphanumeric': 0.13854489164086686, 'fraction_numerical': 0.14963880288957687, 'mean_word_length': 2.209437086092715, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 40, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '195472', 'license': 'Apache-2.0', 'n_tokens_mistral': 2186, 'n_tokens_neox': 1870, 'n_words': 379, 'path': '9.15.ipynb', 'repo_name': 'LUshichuanshuo/text', 'size': '3876'}