Python函数名的应用和新特性格式化输出
1、函数名指向的是函数的内存地址。
def func():
print(123)
print(func,type(func))
# <function func at 0x0000000001CE5280> <class 'function'>
2、函数名就是变量
def func():
print(123)
f = func
f1 = f
f2 = f1
func()
f()
f1() # 四次调用的都是同一个内存地址
f2() # 所以结果都是 123
def func():
print('func')
def func1():
print('func1')
func1 = func # 相当于变量的赋值
func1() # func
3、函数名可以作为容器类数据类型的元素。
def func():
print('func')
def func1():
print('func1')
def func2():
print('func2')
li = [func,func1,func2]
for i in li:
i()
# 加括号即为引用,结果为: func func1 func2
4、函数名可以作为函数的参数。
def func():
print('func')
def func1(f)
print('func1')
f() # func1
func1(func) # func
5、函数名可以作为函数的返回值。
def func():
print('func')
def func1(x):
print('func1')
return x
ret = func1(func) # func1返回值为func,ret = func
ret() # ret() = func()
# func1
# func
小结:函数名是一个特殊的变量,他除了具有变量的功能,还有最主要的一个特点,就是加上()就能执行,它还有一个学名叫: 第一类对象。
新特性:f - strings 格式化输出
- Python 3.6 之后,字符串首部加f,内部替换处用{}括起来。
name = '马良'
age = 23
msg = f'我叫{name},今年{age}'
print(msg)
# 我叫马良,今年23
可以加表达式:
dic = {'name':'马良','age':23}
msg = f'我叫{dic["name"]},今年{dic["age"]}'
print(msg)
# 我叫马良,今年23
name = 'maliang'
print(f'我叫{name.upper()}')
# 我叫MALIANG
li = ['马良',23]
print(f'我叫{li[0]},今年{li[1]})
# 我叫马良,今年23
可以用函数完成相应的功能,然后将返回值返回到字符串相应的位置。
def total(a,b):
return a+b
a = 10
b = 13
print(f'我叫马良,今年{total(a,b)}')
# 我叫马良,今年23
多行替换:
name = '马良'
age = 23
print(f'''我叫{name}
今年{age}''')
# 我叫马良
# 今年23
注:!,:{} ;这些符号不能出现在{}里面
优点:
- 1.结构更简化。
- 2.可以结合表达式、函数进行使用。
- 3.效率提升很多。
Python函数名的应用和新特性格式化输出的更多相关文章
- php7函数,声明,返回值等新特性介绍
使用 ... 运算符定义变长参数函数 (PHP 5 >= 5.6.0, PHP 7) 现在可以不依赖 func_get_args(), 使用 ... 运算符 来实现 变长参数函数. functi ...
- #python str.format 方法被用于字符串的格式化输出。
#python str.format 方法被用于字符串的格式化输出. #''.format() print('{0}+{1}={2}'.format(1,2,3)) #1+2=3 可见字符串中大括号内 ...
- python 函数名 、闭包 装饰器 day13
1,函数名的使用. 函数名是函数的名字,本质就是变量,特殊的变量.函数名()加括号就是执行此函数. 1,单独打印函数名就是此函数的内存地址. def func1(): print(555) print ...
- day12 python函数名的应用 闭包 迭代器
day12 python 一.函数名的应用(是第一类对象) 函数名的命名规范和变量是一样的 函数名其实就是变量名 def func(): print('i am funct ...
- python函数名应用
函数名的应用 函数名 的应用分类: 函数就是一个特殊的变量(可以看成一个变量来用) *函数名对应函数的内存地址 *函数名可以做为容器类数据的元素 *函数名可以作为函数的参数 *函数名可以作为函数的返回 ...
- python 函数名,闭包
1.函数名字的应用 函数名是什么? 函数名是函数的名字,本质:变量,特殊变量 函数名+() ———>执行此函数: 2.函数名的赋值: def func2(): print(44) f = fun ...
- 015.Python函数名的使用以及函数变量的操作
一 函数名的使用 python中的函数可以像变量一样,动态创建,销毁,当参数传递,作为值返回,叫第一类对象.其他语言功能有限 1.1 函数名是个特殊的变量,可以当做变量赋值 def func(): p ...
- python 函数名的应用(第一类对象),闭包,迭代器
1.函数名的应用(第一类对象) 函数名的命名规范和变量是一样的 函数名其实就是变量名 可以作为列表中的元素进行储存. def func1(): pass def func2(): pass lst = ...
- Python函数名做参数,闭包,装饰器
简单讲解闭包的写法和应用,在这之前,先声明,你定义的任意一个函数都可以作为其他函数的参数.就像下面这段代码的参数func,接收的参数就是一个函数名,在函数体内部使用了func()调用执行函数. 请看下 ...
随机推荐
- Robotframework自动化3-APP启动
前言 前两节已经讲述了环境的搭建,这节介绍APP是如何运行的 介绍 1.创建项目 2.创建测试套件 3.创建测试用例 4.APP运行 一.创建项目 打开ride,开始创建项目,左上角File--> ...
- [Leetcode]225. 用队列实现栈 、剑指 Offer 09. 用两个栈实现队列
##225. 用队列实现栈 如题 ###题解 在push时候搞点事情:push时入队1,在把队2的元素一个个入队1,再交换队2和队1,保持队1除pushguocheng 始终为空. ###代码 cla ...
- JavaScript中常用的数据输出方式解析
在js中,一般使用如下几种方式进行数据的输出: 1. 在浏览器的控制台输出 浏览器F12打开浏览器控制台(一般前端开发人员必备浏览器为谷歌浏览器,下面就以谷歌浏览器为例对控制台尽心解析): 1.1 E ...
- Docker实战(4):Docker错误记一笔
创建容器的时候报错WARNING: IPv4 forwarding is disabled. Networking will not work. 解决办法: vim /usr/lib/sysctl.d ...
- Java 13天基础 06天map集合小练习(黑马程序员) 统计字符串中每个字符出现的次数 (经典面试题)
import java.util.HashMap; import java.util.Map; import java.util.Scanner; /** * 目标 : 输出一个字符串中每个字符出现的 ...
- 解决flutter 运行时:Waiting for another flutter command to release the startup lock...
执行 Flutter 包管理相关命令时有可能遇到 Waiting for another flutter command to release the startup lock... 这样的错误,可尝 ...
- python 进程(池)、线程(池)
进程.多进程.进程池 进程总概述 进程 from multiprocessing import Process import os # 子进程要执行的代码 def run_proc(name): pr ...
- MySQL中的临时表到底什么是?
Author:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.c ...
- WEB通信及前后端组成
NDS(域名系统) 按个人的理解,就是将域名和IP映射,通过输入域名,DNS 找到对应的域名的IP地址,即可访问. NDS请求步骤: 当用户输入域名(例:www.baidu.com),回车那一刻: 1 ...
- 万字长文 | 23 个问题 TCP 疑难杂症全解析
每个时代,都不会亏待会学习的人. 在进入今天主题之前我先抛几个问题,这篇文章一共提出 23 个问题. TCP 握手一定是三次?TCP 挥手一定是四次? 为什么要有快速重传,超时重传不够用?为什么要有 ...