zoukankan      html  css  js  c++  java
  • Python 学习笔记 -- 函数基本使用

      1 #---------------------------------------------------------------------
      2 #函数定义方法,()括号内可以不加形参
      3 def FunName():
      4     #函数体随便写
      5     #函数体随便写,要写多长都可以....建议别太长,不然要骂娘.....
      6     pass
      7 
      8 #这里就不属于函数内部了
      9 #---------------------------------------------------------------------
     10 
     11 #---------------------------基础部分----------------------------------
     12 #实例:编写power(x,y),函数返回x的y次幂
     13 def power(x,y):
     14     return x ** y
     15 
     16 print(power(2,3))
     17 
     18 
     19 #实例:编写MyGcd(x,y),函数返回x和y的最大公约数
     20 def MyGcd(x,y):
     21     if x < y:
     22         a = x
     23         x,y = y,a
     24     while y:
     25         x, y = y, x % y
     26     return x
     27 
     28 print(MyGcd(15,25))
     29 
     30 
     31 #实例将一个十进制数转化为二进制
     32 def Dec2Bin(dec):
     33     str_bin = ""
     34     while dec:
     35         dec, temp = (dec // 2), (dec % 2)
     36         str_bin = str(temp) + str_bin
     37     return str_bin
     38 
     39 print(Dec2Bin(2))
     40 
     41 #--------------------------参数部分-----------------------------------
     42 #如何传入一个列表或者元组
     43 from collections import Iterable
     44 print("
    
    #传入列表、元组、字符串、单独的数测试")
     45 def MyFirstFun(arr):
     46     if not isinstance(arr, (tuple,list,str,Iterable)):
     47         print(arr)
     48         return None
     49     for i in arr:
     50         print(i, end=" ")
     51     print()
     52     
     53 MyFirstFun((1,2,3,4,5,6))
     54 MyFirstFun(["","","",""])
     55 MyFirstFun("I'm a girl!")
     56 MyFirstFun(1234)
     57 
     58 #关键字参数的使用
     59 def MySecondFun(name,discourse):
     60     print(name + ":" + discourse)
     61 MySecondFun(discourse="好吧!这是一个例子!",name="欧晨曦")
     62 
     63 #默认参数的使用,牢记,定义默认参数时,默认参数必须指向不可变对象
     64 def MyThirdFun(name="欧晨曦",discourse="默认参数的函数使用"):
     65     print(name + ":" + discourse)
     66 MyThirdFun(name="方源")
     67 
     68 #可变参数的使用
     69 def MyFourthFun(*arr):
     70     for i in arr:
     71         print(i,end=",")
     72     print("
    ")
     73 
     74 MyFourthFun(1,2,3,4,5,6)
     75 
     76 #在使用可变参数是,后面最好是默认参数,防止意外发生
     77 def MyFifthFun(*arr,name="欧晨曦"):
     78     for i in arr:
     79         print(i,end=",")
     80     print(name)
     81 
     82 MyFifthFun(1,2,3,4,5,6) #普通方法
     83 list1 = [2,3,4,5,6,7] #假如已有列表或者元组
     84 MyFifthFun(*list1) #在变量名称前面加上*号
     85 
     86 #命名关键字参数,其实它们传入的是字典啊!字典
     87 def MySixthFun(**keyAndValue):
     88     if "Alpha" in keyAndValue:
     89         print("Alpha: ", keyAndValue["Alpha"])
     90     if "Beta" in keyAndValue:
     91         print("Beta:", keyAndValue["Beta"])
     92 
     93 MySixthFun(Alpha=1,Beta=2) #普通方式
     94 dir_one = {"Alpha":66,"Beta":88}
     95 MySixthFun(**dir_one)
     96 
     97 #Python中,如果程序员没有给函数没有返回一个值,那么实际上是返回None
     98 #Python中,与C/C++差不多,在函数内部定义的变量为局部变量,如果在函数内部使用一个
     99 #与全局变量名字相同的变量,则Python自动定义一个同名的局部变量
    100 abc = 1
    101 def MySeventhFun():
    102     abc = 2
    103 MySeventhFun()
    104 print(abc)
    105 
    106 #那么如何使用全局变量,在函数内部更改全局变量的值呢?使用global关键字
    107 def MyEighthFun():
    108     global abc
    109     abc = 8888
    110 MyEighthFun()
    111 print(abc)
  • 相关阅读:
    16-爬虫之scrapy框架手动请求发送实现全站数据爬取03
    15-爬虫之scrapy框架基于管道实现数据库备份02
    14-爬虫之scrapy框架的基本使用01
    13-爬虫之js加密,解密,混淆,逆向破解思路
    12-基于selenium实现12306模拟登录,及京东登录滑动缺口验证模拟登录
    11-selenium浏览器自动化
    10-异步爬虫(线程池/asyncio协程)实战案例
    09-百度ai图片识别
    08-百度ai语音合成
    RNN
  • 原文地址:https://www.cnblogs.com/jiangchenxi/p/8013234.html
Copyright © 2011-2022 走看看