【字符串的3种表达方式】

目录

知识点1:字符串的3种表达方式

一、百分号字符串

二、格式字符串

1.f'输出式{表达式},输出式{表达式}'

2.f'{表达式=},{表达式=:.}'

三、format字符串

1.‘name={}’.format()

知识点2:参数拓展

一、定义函数时设置默认参数

二.默认值参数只能从后向前赋值

三.关键值参数

1.定义:按照名称传递参数

2.可以不按照顺序赋值

四.使用了关键值参数后面的参数也必须使用关键值参数

五.函数体内对实参定义不影响实参的值

六.未对形参赋值时,可以影响实参列表

知识点3:可变参数

一.定义

二.调用后args以元组形式保存所有参数

三.可变参数后面的普通参数只能用关键词赋值

四.在同一个函数中不能定义两个可变参数

五.可变参数不支持使用关键词赋值

知识点4:可变关键词参数

一.定义

二.kwargs要保证处在参数列表的最后的位置

三.不定长参数

1.封装成*元组(位置参数)或**字典(关键词参数)形式

知识点4:元组解包

事例1:*c是列表!!!!

事例2:*不仅应用于元组还应用于字符串、列表、字典等迭代对象

默认解包字典解键值

知识点5.拆分参数列表

一.列表元组拆分出来的为位置参数,字典拆分出来的为关键字参数

二.字典的键必须是克哈希对象

知识点6.高阶函数:把函数当作参数的一种函数

总结


提示:以下是本篇文章正文内容,下面案例可供参考

知识点1:字符串的3种表达方式

一、百分号字符串

>>name:小华,age:18,score:80.123

二、格式字符串

1.f'输出式{表达式},输出式{表达式}'

name='小华'
age=18
score=80.123
print(f'name:{name},age:{age},score:{score:.3f}')

>>name:小华,age:18,score:80.123

⚠️代码注释:

  • 有多个 {}
  • {}里面的是已定义变量,{}外面的是原模原样输出的东西
  • {}里的如果要格式化,使用“:”并在后面标明格式化要求
  • .3f为保留三位小数

2.f'{表达式=},{表达式=:.}'

name='小华'
age=18
score=80.1234
print(f'{name=},{age=},{score=:.2f}')

>>name='小华',age=18,score=80.12

⚠️代码注释:

  • 与上面的对比 这个更加限制一些
  • 要求{}内有等于号

三、format字符串

1.‘name={}’.format()

name='小华'
age=18
score=80.1234
print('name={name},age={age},score={score:.2f}'.format(name=name,age=age,score=score))

知识点2:参数拓展

一、定义函数时设置默认参数

def f(name,age=19):
    print(f'name={name},age={age}')
f("小明")

>>name="小明",age=19

二.默认值参数只能从后向前赋值

错误代码如下:

def f(a,b=0,c):
    print(a,b,c)
f(1,2)

正确代码如下:

def f(a,b,c=0):
    print(a,b,c)
f(1,2)

>>1,2,0

三.关键值参数

1.定义:按照名称传递参数

2.可以按照顺序赋值

def f(a,b,c):
    print(a,b,c)
f(a=1,c=2,b=4)

>>1 4 2

四.使用了关键值参数后面的参数也必须使用关键值参数

def f(a,b,c):
    print(a,b,c)
f(1,c=2,3)

>>报错

五.函数体内对实参定义不影响实参的值

def f(a):
    a=0
i=6
f(i)
print(i)

>>6

六.未对形参赋值时,可以影响实参列表

i=[1,2,3]
def f(a):
    a.append(6)
    a=[1,3,8]
    a.append(7)
f(i)
print(i)

>>[1, 2, 3, 6]

知识点3:可变参数

一.定义

1.可传递任意数量的参数值

2.定义即在参数args名前加一个*号(get_sum为函数名)

3.按照顺序赋值

二.调用后args以元组形式保存所有参数

def f(*args):
    print(args)
f(1,2,3)

>>(1,2,3)

三.可变参数后面的普通参数只能用关键词赋值

def get_sum(a,b,*args,c,d):
    print(args)
    print(a)
    print(c)
get_sum(1,2,3,4,c='xia',d=5)

>>(3, 4)
1
xia

  • 如果后面不用a=调用参数,那么会报错

四.在同一个函数中不能定义两个可变参数

1.可变参数可以和普通参数结合使用

def f(*args,a,b):

五.可变参数不支持使用关键词赋值

def f(*args):
    print(args)
f(a=1)

知识点4:可变关键词参数

一.定义

可以传递任意数量的参数值,但调用时必须使用关键词

错误代码:

def get_sum(**kwargs):
    for k,v in kwargs.items():
        print(f'{k}:{v}')
get_sum(1,2,3)
def get_sum(**kwargs):
    for k,v in kwargs.items():
        print(f'{k}:{v}')
get_sum(a=1,b=2,c=3)

>>a:1
    b:2
     c:3

二.kwargs要保证处在参数列表的最后的位置

def get_sum(a,b,**kwargs,c):
    for k,v in kwargs.items():
        print(f'{k}:{v}')
get_sum(1,2,4,5,c=3)

>>报错

因为c可能被视作kuargs的参数

改正方法:把c移到**args前面

三.不定长参数

1.封装成*元组(位置参数)或**字典(关键词参数)形式

  • **kuargs一定在后面
  • **kuargs用关键字赋值
  • 编写代码好习惯普通参数在前面,再到*args,再到**kuargs
def f(*args,**kwargs):
    print(args,end=" ")
    print(kwargs)
f(1,2,3,x=4,y=5)

>>(1,2,3) {x:4,y:5}

知识点4:元组解包

事例1:*c是列表!!!!

  • 解包时只能有1个*号类型的变量
  • (**bianliang) 这是不存在的
a,b,*c=(1,2,3,4,5)
print(a)
print(b)
print(c)

>>1
2
[3, 4, 5]

事例2:*不仅应用于元组还应用于字符串、列表、字典等迭代对象

a,b,*c="12345"
print(a,end=" ")
print(b,end=" ")
print(c)

>>1 2 ['3', '4', '5']

  • 这里的a和b是‘1’ ‘2’
a,*c={'a':1,'b':3,'c':2}
print(a,end=" ")
print(c)

>a ['b','c']

  • 默认解包字典解键值

a,*c={'a':1,'b':3,'c':2}.values()
print(a,end=" ")
print(c)

>>1 [3,2]

知识点5.拆分参数列表

一.列表元组拆分出来的为位置参数,字典拆分出来的为关键字参数

如果元素已经被封装在列表元组字典中,则可以从其中拆分出来

def f(*a):
    sum = 0
    for i in a:
        sum=sum+i
    print(sum)
ls=[1,2,3]
f(*ls)
  • *a表示可变参数
  • *ls表示将列表所有元素拆分出来作为函数f的实参

二.字典的键必须是克哈希对象

  • 不能为列表,字典,集合,元组,变量
  • 只能为字符串、数值型!!!!
def f(level,name,age):
    print('name=%s,level=%s,age=%d'%(name,level,age))
d={'name':'lixiaoming','level':'优秀','age':19}
f(**d)

>>name=lixiaoming,level=优秀,age=19

知识点6.高阶函数:把函数当作参数的一种函数

def f():
    def a():
        print("abc")
    a()
f()

>>“abc”

  • 嵌套函数也必须先定义后调用
  • 在函数体内定义的函数 只能在函数体内调用 出了函数范围后不能再调用 否则视作未定义

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了字符串、关键值参数、函数调用等知识的使用,而python提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值