for

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for相关的知识,希望对你有一定的参考价值。

函数的作用

kv编程论:解释函数

几种参数的用法

作用域

程序异常的处理

案例:登录验证命令行版

密码生成器

51备忘录v0.26

def function_name(s):

statement(s)

def 关键词,不可变

function_name 函数名,小写字母,下划线连接单词

s parameters,参数,可以有多个,用逗号分开

statement(s) 代码语句,或其他函数,带(s)为调用,call

import random
num1 = random.randint(1,10)
num2 = random.randint(1,10)
print(num1,num2)
2 3
def random_num():  # 此处是函数的输入(),可以为空,也可以向函数传递参数
    num = random.randint(1,10)
    return num   # 函数有输入也有输出,此处是经过函数处理过的返回值,使用return.怎么使用这个返回值?:random_num()即可
random_num()  # 函数的调用即可显示它的返回值
2
def random_num():  # 此处是函数的输入(),可以为空,也可以向函数传递参数
    num = random.randint(1,10)
#    return num 
random_num() # 如果函数中没有return这个方法,调用该函数的时候就不会显示。如下所示,None
def random_num():  # 此处是函数的输入(),可以为空,也可以向函数传递参数
    num = random.randint(1,10)
    return num
#random_num()
#random_num()  # 默认显示的是最后这个函数
print(random_num())
print(random_num())  #如此显示多个随机数
4
2
# 传递参数:
def random_num(start,end):
    num = random.randint(start,end)
    return num
random_num(1,20)   # 传递参数的样子
16

几种函数参数的用法

random_num
<function __main__.random_num(start, end)>
def random_num(start,end=10):   #end=10是默认值,可
    以在传参的时候更换,默认值要放在非默认值的后面

    num = random.randint(start,end)
    return num
random_num(6)
7
random_num(20,40)  #end=10是默认值,可以在传参的时候更换,正如此例
25
def random_num(start,end=10,n=6):
    nums = []
    for i in range(n):
        num = random.randint(start,end)
        nums.append(num)
    return nums
random_num(4)
[6, 8, 7, 4, 5, 9]

注意可变对象在默认值的特殊情况

#函数默认值只计算一次! 注意列表当参数默认值。
def f(a,L=[]):
    L.append(a)
    return L
print(f(1))
print(f(2))
print(f(3))   ## 注意打印出来的结果,列表在不断改变,增加
[1]
[1, 2]
[1, 2, 3]
def  f(a,L=None):   # 将参数追加到列表L中
    if L is None:
        L = []
    L.append(a)
    return L
print(f(1))
print(f(2))
print(f(3))
[1]
[2]
[3]

关键词参数 (k = v)

def car(color,price =‘10‘,user = ‘coop‘):
    print(f‘{user} has a {color} car,its price is {price}‘)
car(‘blue‘)  # 使用的是默认参数
coop has a blue car,its price is 10
car(‘red‘,‘30‘,‘jiao‘) # 使用参数位置传递参数
jiao has a red car,its price is 30
car(color=‘yellow‘,price=‘100‘) #使用关键词传递参数
coop has a yellow car,its price is 100

任意参数

# *args  **kwargs: args ->tuple,kwargs ->dict  argument  keyword argument
def car(*args):
    print(args)
    for k in args:
        print(k)
car(‘red‘,10,‘coop‘)
(‘red‘, 10, ‘coop‘)
red
10
coop
def car(**kwargs):
    for k,v in kwargs.items():  #转换成字典,所以可以使用字典的方法
        print(f‘{k}::{v}‘)
car(‘red‘,100,‘coop‘)
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-83-08de737668de> in <module>()
      2     for k,v in kwargs.items():
      3         print(f‘{k}::{v}‘)
----> 4 car(‘red‘,100,‘coop‘)

TypeError: car() takes 0 positional arguments but 3 were given
def car(**kwargs):  # **kwargs,需要传递key=values这样格式的数据,然后转换成字典
    for k,v in kwargs.items():
        print(f‘{k}::{v}‘)
car(color=‘red‘,price=100,user=‘coop‘)

color::red
price::100
user::coop

def car(*args ,**kwargs):
    print(‘args‘,args)  #打印出来就是元组
    print(‘kwargs‘,kwargs) # 打印出来的就是字典
    for k in args:
        print(k)
    for k,v in kwargs.items():
        print(f‘{k}:{v}‘)

car(‘T‘,‘abc‘,color=‘red‘,price=200,user=‘coop‘)  #如果没有等号,就会转换成元组,如果是k=v的形式,则会转换成字典
args (‘T‘, ‘abc‘)
kwargs {‘color‘: ‘red‘, ‘price‘: 200, ‘user‘: ‘coop‘}
T
abc
color:red
price:200
user:coop
``

技术分享图片技术分享图片
技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片

以上是关于for的主要内容,如果未能解决你的问题,请参考以下文章

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

以下代码片段的算法复杂度

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

创建自己的代码片段(CodeSnippet)

SnippetsLab for Mac 1.9 中文共享版 – 强大的代码收藏管理工具