首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用exec进行变量赋值是否是pythonic式的?

使用exec进行变量赋值不是Pythonic式的。

Pythonic是指符合Python语言特性和风格的编程方式。在Python中,通常推荐使用直接赋值的方式来进行变量赋值,而不是使用exec函数。

exec函数是Python的内置函数,用于执行字符串形式的代码。虽然exec函数可以实现动态执行代码的功能,但它的使用会增加代码的复杂性和不可读性,不利于代码的维护和调试。而且,使用exec函数进行变量赋值可能存在安全风险,因为它可以执行任意的Python代码。

相比之下,直接赋值的方式更加简洁、清晰和安全。例如,可以使用等号(=)将一个值赋给一个变量,或者使用解构赋值的方式将多个值赋给多个变量。

总结起来,使用exec进行变量赋值不符合Pythonic的编程风格,推荐使用直接赋值的方式来进行变量赋值。

相关搜索:使用环境变量进行路径导出是否是pythonic式的?什么是使用私有变量的Pythonic方法?使用exec和python赋值函数中的变量是否适合使用未赋值的变量?Pythonic式的方法,检查变量是否存在,如果存在,则将其与另一个变量进行比较在数学术语中使用变量自身值进行变量赋值的意义是什么?为什么Task.Run参数中使用的外部变量被认为是未赋值的?当我使用offer和poll进行访问时,LinkedList是否是线程安全的?如何使用带def的keras函数式api?获取错误"UnboundLocalError:赋值前引用的局部变量'layers‘“是否可以使用Rust的宏重复来检测表达式是否是可变变量?如何检查参数/变量是否可用于Groovy中的Jenkins“使用参数进行构建”是否可以使用级联来对变量的两个属性进行操作?callstack是一个描述如何处理函数的模型。对于变量赋值,if语句和循环是否有类似的模型?在我们可以使用column变量进行建模之前,列的方差是可以接受的吗?来自glmnet模型的原始尺度中的变量系数是否使用r中的插入符号进行训练?当使用返回值赋值的变量调用函数get时,C++返回值优化(RVO)是如何工作的?在tensorflow中排队时,使用来自多个线程的相同占位符变量是否是竞争条件?是否有一种方法可以使用shinyWidgets包中的pickerInput函数对变量进行分组?您是否可以使用libtorrent库进行基本的主线分布式哈希表查询,如find_node和ping这个模板函数是如何工作的?它检查运行时是否可以进行类型转换,而不使用强制转换
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

写的代码又被喷?8招让你的代码更Pythonic

变量交换 Pythonic写法 普通写法 循环遍历区间元素 在Python2中,有range和xrange2种写法,xrange是生成器写法,更节省内存。...如何你还在使用Python2,建议用xrange代替range Java的写法 生成器扩展 索引 Pythonic写法 普通写法 显然,Pythonic写法更加直观,优雅。...Python将自动管理文件流的打开与关闭,无需手动操作 列表操作 Pythonic写法 普通写法 list也可以用pop(0)来删除第一个元素,但是list在内存中是顺序存储的,删除第一个元素,会导致之后的所有元素都会前移...开头如果有大量的删除和插入操作,避免使用list 解构赋值 Pythonic写法 字典也类似,在Python2中,字典的items方法将返回列表,当字典比较大时,这样会很耗内存。...如果在使用Python2,请用iteritems代替items 推导式 Pythonic写法 普通写法 更多有关生成器与推导式的写法,见循环与推导式 作者:呆兔兔 来源:http://imtuzi.com

89860

优雅你的Python代码的15个tips

在 Python 社区,程序员还创造了一个新词 Pythonic 来评价代码是否符合 Python 风格,并以写出 Pythonic 风格的代码而自豪。...笔者想表达的是,通过熟悉 Python 语言的一些基本特性,加以熟练应用,你也可以写出很 Pythonic 的代码! 话不多说,本文通过15个具体的例子,带你领略 Python 的简洁和优雅。...1、为多个变量赋值 ### NP: a = 2 b = 5 c = 12 ### P: a,b,c = 2,5,12 2、变量值互换 a = 50 b = 25 ### NP: temp = a a...= b b = temp ### P: a,b = b,a 上面的例子通过了元组的pack和unpack完成了对a,b的互换,避免了使用临时变量temp,而且只用了一行代码。...,赋值给不同的变量 lst = ['jack', 18, 'Python', 'Good'] ### NP: name = lst[0] age = lst[1] lang = lst[2] score

53420
  • 让你的Python代码更加Pythonic

    这就是著名的“python之禅”,简言之,就是要写符合pythonic的代码,简洁、优雅、可读性强。 下面选取了一些常见的Python规范和代码风格,大家可以进行参考和学习。...命名 首先看一下变量的命名规范(pep8)规范: 文件夹:包名,建议仅使用小写字母命名,不建议使用下划线。 模块: 小写或者小写加下划线连接,比如 module.py、db_convert.py等。...,同时给多个变量赋值 a,b,c = 2,5,12 3.合并字符串 传统的字符串合并方法,由于字符串对象不可改变,每次修改会产生一个新的对象,这种方法会消耗很多内存。...4.列表去重 使用集合的唯一性,对列表进行去重 a = [1, 2, 3, 1, 2,3 , 1, 3, 2, 4, 1, 3, 4, 5, 6, 5, 4, 4, 3, 6] lst = list(set...解压列表/元组的元素,赋值给不同的变量 a, b, c = [1,2,3] print(a, b, c) 输出:1 2 3 函数中的解包操作 在函数调用中,* 能够将元组或列表解包成不同的参数。

    75120

    如何写出Pythonic的代码

    要写出 Pythonic(优雅的、地道的、整洁的)代码,还要平时多观察那些大牛代码,这里明哥收集了一些比较常见的 Pythonic 写法,帮助你养成写优秀代码的习惯。 01....真假判断 判断一个变量是否为真(假),新手习惯直接使用 == 与 True、False、None 进行对比 if attr == True: print('True!')...访问字典元素 当直接使用 [] 来访问字典里的元素时,若key不存在,是会抛异常的,所以新会可能会先判断一下是否有这个 key,有再取之。...显式代码 有时候出于需要,我们会使用一些特殊的魔法来使代码适应更多的场景不确定性。...三目运算 对于简单的判断并赋值 age = 20 if age > 18: type = "adult" else: type = "teenager" 其实是可以使用三目运算,一行搞定

    54521

    18 种方法来优雅你的 Python

    Python 讲求的一个目标就是 Pythonic,很多情况下我们会追求 Python 的代码更加优雅的写法。...二,优雅你的赋值语句 4,为多个变量赋值 平凡方法: 逐一赋值。 ? 优雅方法: 使用元组语法同时赋值。 ? 5,序列解包 平凡方法: 使用下标访问逐一赋值。 ? 优雅方法: 序列自动解包。 ?...6,对象方法的嵌套 平凡方法: 定义中间变量,不嵌套。 ? 优雅方法: 使用对象方法嵌套,减少中间变量。 ? 三,优雅你的判断语句 7,单行 if 语句:if...else......优雅方法: 使用 all 函数。 ? 四,优雅你的循环语句 13,单行循环语句:推导式 平凡方法: 使用普通 for 循环。 ?...优雅方法: 使用推导式:[... for .... in ... if ... ]。 ? 14,同时遍历序列的元素和元素下标 平凡方法: 遍历下标,并用下标访问元素。 ?

    73210

    Python装饰器入门教程 | 新手教程

    那么今天就带大家一步步了解装饰器的使用吧 装饰器(Decorator)是python的一个重要部分,简单来说,他是修改其他函数功能的函数。...他们有助于让我们的代码更简短,也更Pythonic!...万物皆对象 在Python的世界中,万物皆对象,听起来比较抽象,但其实理解起来很简单,你可以用将任何一个变量、函数、方法、类等等赋值给另一个变量。只有你了解了这些,才能进一步的理解装饰器。...通过合并,我们将上面两个例子进行和组装,变成了一个升级版的闭包,很多人会说,什么是闭包呢?...装饰器实例 装饰器比大量的使用在Flask、Django中,学好了它不管是对于你理解flask的路由,还是之后的代码开发都有很多帮助,那么我们来做个简单的例子,日志打印装饰器: import time

    68710

    Python 进阶指南(编程轻松进阶):六、编写 Python 风格的代码

    即使没有对close()的显式调用,当执行离开块时,with语句也会自动调用它。 使用is而不是==与None进行比较, ==相等运算符比较两个对象的值,而is相同运算符比较两个对象的标识。...这可能是由于==操作符过载造成的,第 17 章对此有更详细的介绍。但是spam is None会检查spam变量中的值是否是字面上的None。...第 8 章展示了一些使用它们会在你的代码中引入意想不到的错误的例子。 检查变量是否是许多值中的一个 有时,您可能会遇到与上一节中描述的情况相反的情况:检查单个变量是否是多个可能值中的一个。...相反,您可以将多个值放入一个元组中,并使用in运算符检查该元组中是否存在变量值,如下例所示: >>> # Pythonic Example >>> spam = 'cat' >>> spam in ('...一系列的==操作符可以检查多个变量是否相等,而in操作符可以检查一个变量是否是许多可能值中的一个。 本章讲述了几个 Python 语言习惯用法,为您提供了如何编写更多 Python 代码的提示。

    94860

    pythonic风格代码有什么好处?附12个代码实例

    pythonic是开发者们在写python代码过程中总结的编程习惯,崇尚优雅、明确、简单。就好比中文笔画,有先后顺序,最符合文字书写的习惯。...因为是习惯,不是江湖规则,所以你大可不必遵守pythonic,但如果你想成为python高手,最好是养成这个习惯。 对比其他语言我们能直观看出pythonic风格的特点,比如写一个简单循环。...if x == 1: print ('one') 「7、缩进」 续行应该与其包裹元素对齐,要么使用圆括号、方括号和花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐3。...当使用挂行缩进时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。...具有单一功能 包含文档注释 返回一个值 函数和类应该用两个空行隔开 尽量使用内置函数 「补充」 最后说下PEP8规范,PEP8是Python的编码规范,其目的在于提高代码的可读性。

    59110

    编写高质量Python程序(一)引论

    本系列文章为《编写高质量代码——改善Python程序的91个建议》的精华汇总。 理解Pythonic概念 什么是 Pythonic? Pythonic的代码就是具有Python独特风格的代码。...其他语言交换两个变量时,一般需要一个临时的中间变量,而Python中可以用一行代码直接交换。 for循环直接遍历容器。...其他语言中,需要根据索引下标i对容器进行遍历,而Python可以用for循环直接遍历容器。 使用 str.format() 格式化字符串,是最Pythonic的字符串格式化方法。...编写Pythonic代码 注意要避免的事: 避免只用大小写来区分不同的对象。 避免使用容易混淆的名称。 不要害怕过长的变量名。能表达清楚变量代表的含义即可。...def A(): B() def B(): pass 空格的使用 二元运算符(赋值=,比较(==, , !

    59300

    对 python 中变量值交换的一些思考

    实现如下: t = x x = y y = t pythonic,对于这种需求其实python为我们提供了一种更方便的解决方案。...性能比较 虽然写法简洁方便,但是是否已损耗性能为代价呢?...看一些赋值运算符右边的表达式,即 y, x,这实际在python中称为元组的数据结构。我们可以看到赋值表达式左边是 x, y,那么为什么元组可以直接赋值给 x,y 呢?...此处利用了python的一个特性,即任何序列(或可迭代的对象)都可以通过简单的赋值操作分解为单独的变量。...min_score, *other_scores, max_score = scores 这里引入了一种新的写法,*表达式变量轻松分解出中间的可迭代对象并赋值给other_scores,同时将开头和结束的对象分别赋值给

    82830

    对比几段代码,看看你是 Python 菜鸟还是老鸟(另有福利)

    所谓 pythonic,我觉得包含两方面:一是代码的风格符合 Python 的特点,能合理使用 Python 的“语法糖”;二是代码简洁优美,稳定性高,可读性好,便于维护和修改。...Python 中类似的例子还有不少,来举几个: 1、交换两个变量的值,普通写法: temp = a a = b b = temp pythonic 写法: a, b = b, a 2、类似的解包(unpacking...i in lst if i > 0] 这个被称为“列表解析式”(List comprehension,中文翻译说法有很多),可以说是非常 pythonic 的一个用法了。...7、判断一个值是否为True、是否为空列表、是否是None,普通写法: if x == True: pass if len(y) == 0: pass if z == None:...最后,留2个小作业,也是我标题上提到的“福利”: 判断一个列表 A 是否为另一个列表 B 的“子集”,也就是列表 A 中的元素是否都在列表 B 中。 计算 1 加到 100 的和。

    71640

    全栈数据工程师养成攻略:Python 基本语法

    许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉。学海无涯,我们先来了解一些Python中最基本的内容。...Linux和Mac默认的编码集是UTF8,而Windows则是ASCII。如果数据编码的字符集,和你使用Python进行处理时所用的字符集不同,则会出现乱码问题。...另外,我个人的习惯是在Python代码的头部加入以下内容,其中第二行声明了使用UTF8字符集。 变量 Python中的变量可以看作是一个个容器,里面存放着我们需要使用到的值。...列表中的元素是有序对等的,所以是用下标来赋值和访问,而字典中的元素是无序的,所以是用key来操作相应的value。 使用 has_key() 判断字典中是否有某个key。...我们在选择变量名时,应注意避开这些保留字符。 行和缩进 在Python中,代码块的边界不是通过大括号等符号进行显式划分,而是通过行的缩进实现的。

    92580

    几段代码,测测你是 Python 菜鸟还是老鸟

    所谓 pythonic,我觉得包含两方面:一是代码的风格符合 Python 的特点,能合理使用 Python 的“语法糖”;二是代码简洁优美,稳定性高,可读性好,便于维护和修改。...Python 中类似的例子还有不少,来举几个: 1、交换两个变量的值,普通写法: temp = aa = bb = temp pythonic 写法: a, b = b, a 2、类似的解包(unpacking...i in lst if i > 0] 这个被称为“列表解析式”(List comprehension,中文翻译说法有很多),可以说是非常 pythonic 的一个用法了。...7、判断一个值是否为True、是否为空列表、是否是None,普通写法: if x == True: pass if len(y) == 0: pass if z == None:...于是你不得不增加更多的判断。 pythonic 写法: value = dct.get(key, 0) 改用 get 方法,不存在时会得到 None,或者指定的默认值(这里是 0)。

    73080

    来看几段代码,测测你是 Python 菜鸟还是老鸟

    所谓 pythonic,我觉得包含两方面:一是代码的风格符合 Python 的特点,能合理使用 Python 的“语法糖”;二是代码简洁优美,稳定性高,可读性好,便于维护和修改。...Python 中类似的例子还有不少,来举几个: 1、交换两个变量的值,普通写法: temp = a a = b b = temp pythonic 写法: a, b = b, a 2、类似的解包(unpacking...i in lst if i > 0] 这个被称为“列表解析式”(List comprehension,中文翻译说法有很多),可以说是非常 pythonic 的一个用法了。...7、判断一个值是否为True、是否为空列表、是否是None,普通写法: if x == True: pass if len(y) == 0: pass if z == None:...最后,留2个小作业: 判断一个列表 A 是否为另一个列表 B 的“子集”,也就是列表 A 中的元素是否都在列表 B 中。 计算 1 加到 100 的和。

    55450

    如何激怒一位Python爱好者?

    写代码不那么pythonic风格的,多多少少都会让人有点难受。 什么是pythonic呢?...1、函数、变量命名无意义、不规范 很多人图省事,使用a、aa、bbb这样无意义的变量名、函数名,这样在编程中会大大降低代码的可读性,也影响代码质量。...aa = revenue - cost bbb = (aa / revenue) * 100 return bbb 更有初学者使用中文来作为变量名,虽然在语法上是允许的,但会引起歧义...,不符合代码规范 年龄 = 30 名字 = "张三" print("{}的年龄是{}".format(名字,年龄)) 2、不善于使用函数和类,重复写代码 Python是鼓励用函数和类去封装一些重复用的功能...,较难阅读 列表推导式可以简化列表的创建,既实用还能让代码更加美观,但列表推导式只适合创建逻辑简单的列表,对于很复杂且代码量大的列表,是不建议用列表推导式的,比如以下案例。

    13910

    如何优雅的写好Pythonic代码?

    通常是通过一个临时变量来实现的: tmp = a a = b b = tmp 而Python中可以直接交换两个变量,即: a, b = b, a 2、列表推导式 列表推导式是Java及C++等语言没有的特性...list中,通常会设置一个布尔型变量表示是否找到: cities = ['BeiJing', 'TianJin', 'JiNan', 'ShenZhen', 'WuHan'] tofind = 'Shanghai...file: print line 9、使用装饰器 装饰器在Python中应用特别广泛,其特点是可以在具体函数执行之前或者之后做相关的操作,比如:执行前打印执行函数的相关信息,对函数的参数进行校验...当遇到一个单词,判断是否在这个字典中,如果是,则词频加1;如果否,则字典中新增这个单词,同时对应的词频设置为1。...当然,Python代码如下: num = [1, 3, 3, 4, 5, 6, 3, 6, 6, 6] print max(set(num),key=num.count) 这些Pythonic的代码是否让你耳目一新

    1.1K20
    领券