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)(代码片段