zoukankan      html  css  js  c++  java
  • python 函数&条件,循环

    条件
    if <条件判断1>:
    <执行1>
    elif <条件判断2>:
    <执行2>
    elif <条件判断3>:
    <执行3>
    else:
    <执行4>
    注意 else 后加冒号 :

    input()返回的数据类型是str

    循环
    Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来
    for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

    Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

    >>> list(range(5))
    [0, 1, 2, 3, 4]
    range(101)就可以生成0-100的整数序列

    第二种循环是while循环

    dict
    Python内置了字典:dict
    >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    >>> d['Michael']
    95
    数据放入dict的方法,除了初始化时指定外,还可以通过key放入:

    >>> d['Adam'] = 67
    >>> d['Adam']
    67
    通过in判断key是否存在:

    >>> 'Thomas' in d
    False
    删除一个key,用pop(key)方法,对应的value也会从dict中删除

    set
    在set中,没有重复的key
    创建一个set,需要提供一个list作为输入集合:

    >>> s = set([1, 2, 3])
    >>> s
    {1, 2, 3}

    重复元素在set中自动被过滤:

    >>> s = set([1, 1, 2, 2, 3, 3])
    >>> s
    {1, 2, 3}
    add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
    remove(key)方法可以删除元素
    set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

    >>> s1 = set([1, 2, 3])
    >>> s2 = set([2, 3, 4])
    >>> s1 & s2
    {2, 3}
    >>> s1 | s2
    {1, 2, 3, 4}

    函数
    可以把函数名赋给一个变量
    >>> a = abs # 变量a指向abs函数
    >>> a(-1) # 所以也可以通过a调用abs函数
    1

    在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
    def my_abs(x):
    if x >= 0:
    return x
    else:
    return -x
    如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。
    在Python交互环境中定义函数时,注意Python会出现...的提示。函数定义结束后需要按两次回车重新回到>>>提示符下。
    pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来

    默认参数
    把第二个参数n的默认值设定为2:
    def power(x, n=2):
    s = 1
    while n > 0:
    n = n - 1
    s = s * x
    return s
    当调用power(5)时,相当于调用power(5, 2):

    >>> power(5)
    25
    必选参数在前,默认参数在后

    不按顺序提供部分默认参数时,需要把参数名写上。比如调用enroll('Adam', 'M', city='Tianjin'),意思是,city参数用传进去的值

    可变参数
    def calc(numbers):
    sum = 0
    for n in numbers:
    sum = sum + n * n
    return sum
    调用的时候,需要先组装出一个list或tuple:

    >>> calc([1, 2, 3])
    14
    简化:
    def calc(*numbers):
    sum = 0
    for n in numbers:
    sum = sum + n * n
    return sum
    >>> calc(1, 2, 3)
    14
    >>> nums = [1, 2, 3]
    >>> calc(*nums)
    14

    关键字参数
    def person(name, age, **kw):
    >>> extra = {'city': 'Beijing', 'job': 'Engineer'}
    >>> person('Jack', 24, **extra)
    **extra表示把extra这个dict的所有key-value用关键字参数传入到函数的**kw参数,kw将获得一个dict

    只接收city和job作为关键字参数。这种方式定义的函数如下:

    def person(name, age, *, city, job):
    命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数

    使用命名关键字参数时,要特别注意,如果没有可变参数,就必须加一个*作为特殊分隔符。如果缺少*,Python解释器将无法识别位置参数和命名关键字参数

    如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:
    def person(name, age, *args, city, job):

    参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
    *args是可变参数,args接收的是一个tuple;

    **kw是关键字参数,kw接收的是一个dict。

    朝闻道
  • 相关阅读:
    poj 2186(强连通分量)
    zoj 3602
    STL string常用函数
    poj 2503 (map)
    poj 1161 walls
    poj 1164 dfs 位运算
    搭建Hadoop2.0(一)系统环境基本配置
    一步一个脚印——开启博客
    Javascript动态执行问题浅析
    input输入框的各种样式
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/8452887.html
Copyright © 2011-2022 走看看