精华内容
下载资源
问答
  • 动态变量名赋值 在使用 tkinter 时需要动态生成变量,如动态生成 var1…var10 变量。 使用 exec 动态赋值 exec 在 python3 中是内置...在Python的命名空间中,将变量名与值存储在字典中, 可以通过locals(),globals
  • 动态变量名赋值 在使用 tkinter 时需要动态生成变量,如动态生成 var1…var10 变量。 使用 exec 动态赋值 exec 在 python3 中是内置...在Python的命名空间中,将变量名与值存储在字典中, 可以通过locals(),globals
  • ''' 使用 exec 动态赋值 exec 在 python3 中是内置函数,它支持 python 代码动态执行。 使用 exec 动态赋值 exec 在 python3 中是内置函数,它支持 python ...在 Python 命名空间中,将变量名与值存储在字典中,可
    '''
    使用 exec 动态赋值
    exec 在 python3 中是内置函数,它支持 python 代码的动态执行。
    使用 exec 动态赋值
    exec 在 python3 中是内置函数,它支持 python 代码的动态执行。
    '''
    
    list=[i for i in range(10,15)]
    for i in range(5):
        exec('var{} = {}'.format(i, list[i]))
    '''
    利用命名空间动态赋值
    在 Python 的命名空间中,将变量名与值存储在字典中,可以通过 locals(),globals() 函数分别获取局部命名空间和全局命名空间。
    '''
    
    names = locals()
    for i in range(5):
        names['n' + str(i) ] = list[i]
    
    for i in range(5):
        locals()['n' + str(i+100) ] = list[i]
    
    '''
    调用动态变量
    事实上,对于重复性的变量,我们一般不会这样调用变量,如:var0, var1, var2, var3 ,var4....varN,可以利用下面方法动态调用变量。
    
    先定义如下变量:
    '''
    '''
    利用 exec 函数
    同样地,可以使用 exec 调用变量
    '''
    
    for i in range(5):
        exec('print(var{}, end=" ")'.format(i))
    '''
    利用命名空间
    因为命令空间的 locals() 与 globals() 均会返回一个字典,利用字典的 get 方法获取变量的值。
    '''
    names = locals()
    for i in range(5):
        print(names.get('var' + str(i)), end=' ')
    
    展开全文
  • 动态变量名赋值,若需动态生成var0…var4变量 1.使用exec动态赋值 exec在python3中是内置函数,它支持python代码动态执行。...在Python的命名空间中,将变量名与值存储在字典中,可以通过locals(),globals

    动态变量名赋值,若需动态生成var0…var4变量

    1.使用exec动态赋值

    exec在python3中是内置函数,它支持python代码的动态执行。
    示例:

    
    for i in range(5):
    
    	exec('var{} = {}'.format(i, i))
    	
    print(var0, var1, var2, var3 ,var4)
    
    //output: 0 1 2 3 4
    
    

    2.利用命名空间动态赋值

    在Python的命名空间中,将变量名与值存储在字典中,可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。

    
    namespace = locals()
    
    v0 = 0
    v1 = 1
    v2 = 2
    v3 = 3
    v4 = 4
    
    l = []
    
    for i in range(118):
    
            l[i] = namespace["v" + str(i)]
    
    print(l)
    
    //output: [0,1,2,3,4]
    

    3.在类中使用动态变量

    python的类对象的属性储存在的__dict__中。__dict__是一个词典,键为属性名,值对应属性的值。

    
    class Test(object):
    
        def __init__(self):
            names = self.__dict__
            for i in range(5):
                names["var"+str(i)] = i
    
    t = Test()
    
    print(t.var0, t.var1, t.var2, t.var3, t.var4)
    
    //output: 0 1 2 3 4
    

    附:

    事实上,对于重复性的变量,我们一般不会这样调用变量,如:var0, var1, var2, var3 ,var4…varN,可以利用下面方法动态调用变量

    1.使用exec

    for i in range(5):
    	 exec('print(var{}, end=" ")'.format(i))
    
    

    2.利用命名空间

    因为命令空间的locals()与globals()均会返回一个字典,利用字典的get方法获取变量的值

    names = locals()
    for i in range(5):
    	print(names.get('var' + str(i)), end=' ')
    	
    //output:0 1 2 3 4
    

    转自:https://www.cnblogs.com/technologylife/p/9211324.html

    总:个人感觉命名空间最好用

    展开全文
  • Python定义变量的方式、字典、len()函数、if、else、for以及缩进的应用 第一次分享博客,有点激动。本人做了十年土木工程项目管理,由于代码吸引和兴趣爱好。用业余时间自学python,一边看书,一边记录和分享。今天...

    Python学习笔记

    Python定义变量的方式、字典、len()函数、if、else、for以及缩进的应用

    第一次分享博客,有点激动。本人做了十年土木工程项目管理,由于代码吸引和兴趣爱好。用业余时间自学python,一边看书,一边记录和分享。今天是自学的第十天,欢迎列位大佬批评指正,PS年纪大轻点喷,哈哈。

    废话不多说,简单粗暴上代码

    目标概述:定义键值对字典,遍历字典并打印对应的信息。

    #coding:utf-8
    favorite_languages={           #定义变量“favorite_language”的键值对字典。
        'jen':['python','ruby'],
        'sarah':['C'],
        'edward':['ruby','go'],
        'phil':['python','haskell'],
        }
    
    for name,languages in favorite_languages.items():#在这里定义了变量“name”和“languages”
        if len(languages)<2:       #len(**)函数表示变量“**”的数量;这时变量“languages”才会被识别。
            print("\n"+name.title()+"'s favorite language is: ")
            
        else:
            print("\n"+name.title()+"'s favorite languages are: ")
    
        for language in languages:
            print("\t" + language.title())
    

    下面来看一下调试输出:

    Jen's favorite languages are:
            Python
            Ruby
    
    Sarah's favorite language is:
            C
    
    Edward's favorite languages are:
            Ruby
            Go
    
    Phil's favorite languages are:
            Python
            Haskell
    Press any key to continue . . .
    

    如上代码体现了定义变量的两种方式、定义了键值对字典、len()函数、for语句、if else语句。
    #1、定义变量的方式:变量=***,或者在for中定义键值对变量名对应于字典中的键值对。
    exp. favorite_languages={}中,{ }内表示键值对集合;‘a’:[‘b’],a为键,b为值;‘:’表示对应;[ ]内表示值的集合;其中键和值分别用‘’标识。
    exp. for语句中变量name和languages定义时用了另外一种方式而不是用“=”,python来识别时一个重要信息是“,”,那么name即为键,languages即为值,“name,languages”在for语句中形成了键值对表示。
    #2、len()函数,当()为空值时,len()默认统计字符总数;当len()需要统计某种值的总数时,可将该种值的名称(变量)写入()内即可。此时()内的变量需要定义。
    exp. 本例中变量languages是在for语句中已经定义,所以就不会出现not defined(未定义)。

    接下来,我们看一下,抛开if语句时,仅用for来遍历键值对字典。

    #coding:utf-8
    favorite_languages={           #定义变量“favorite_language”的键值对字典。
        'jen':['python','ruby'],
        'sarah':['C'],
        'edward':['ruby','go'],
        'phil':['python','haskell'],
        }
    
    for name,languages in favorite_languages.items():#在这里定义了变量“name”和“languages”
    
        print("\n"+name.title()+"'s favorite languages are: ")
    
        for language in languages:
            print("\t" + language.title())
    

    看一下调试输出效果:

    Jen's favorite languages are:
            Python
            Ruby
    
    Sarah's favorite languages are:
            C
    
    Edward's favorite languages are:
            Ruby
            Go
    
    Phil's favorite languages are:
            Python
            Haskell
    Press any key to continue . . .
    

    打印效果几乎相同,但不难发现Sarah的输出不够精准,她仅有一种最喜欢的语言。

    下面,我们来看一下代码行里面最后的for语句缩进变化时带来的对比效果。

    #coding:utf-8
    favorite_languages={           #定义变量“favorite_language”的键值对字典。
        'jen':['python','ruby'],
        'sarah':['C'],
        'edward':['ruby','go'],
        'phil':['python','haskell'],
        }
    
    for name,languages in favorite_languages.items():#在这里定义了变量“name”和“languages”
    
        print("\n"+name.title()+"'s favorite languages are: ")
    
    for language in languages:
        
        print("\t" + language.title())
    

    调试输出:

    Jen's favorite languages are:
    
    Sarah's favorite languages are:
    
    Edward's favorite languages are:
    
    Phil's favorite languages are:
            Python
            Haskell
    Press any key to continue . . .
    

    从该段for语句缩进的变化看结果,差异是非常巨大的。那么可以得出结论,当缩进发生变化时,它对应的逻辑关系是变化的。
    #1、缩进情况,在python中代表着运行层级和顺序。第一个for语句没有缩进,代表着大的或者说整体的遍历循环。当第二个for语句缩进于与第一个print()相当时,此时的for语句跟随整体的或者大的遍历循环而循环;当第二个for语句无缩进时,此时的for语句是无法参与整体的或者说大的遍历循环,仅在整体遍历循环结束后并打印。

    ----------------------划一道不深不浅的杠杠--------------------
    聊聊if、elif、else
    初次接触if语句时,干涸的内心总会感受到丝丝滋润,像是找到十多年前恋爱的感觉。
    if 你爱我(条件):
    亲我
    else(否则):

    -----------=------------
    if 你爱我(条件):
    亲我
    elif(你爱他):
    亲他
    else(否则):

    ------------=------------
    if你爱我(条件):
    亲我
    elif(你不爱我):
    也行
    -----------=------------
    综上,可以看出:第一种if-else结构,很凶很绝对,不爱还可以安静的走开,不一定连滚带爬(if内涵的内容有限,else除此之外还有更多种选择,所以难以想象。ps系统安全性就容易出问题,很可能在代码包含的if之外,其他任意一种可能都会被归纳到else里面)。
    。。。。。。。。第二种if-elif-else结构,爱我,亲我,没毛病。爱他,亲他,也好像没毛病。还是那句话,不一定连滚带爬(这种结构,包含了除了我以外的已知的另一个选项,还有其他未知的选择。ps同上面第一种一样,除了这两种方式(if-elif)之外的其他情况都被归纳到else里面了)
    。。。。。。。。第三种if-elif结构,这种谈话就比较轻松了,听起来也比较舒服:如果爱我,亲我。再如果你不爱我,也行。(这种情况下,我只接受了两种情况,其他的情况我都不再接受和过问。在系统安全中,只有这些被我判定的所有条件,我接受,其他的情况,不好意思,再见咯)

    ----------------------再来一刀割回正题----------------------------

    回过头来,我们处理一下Sarah输出不够精准的问题。
    在favorite_languages={}键值对字典中,有的人的favorite_languages是一种,有的是两种,那么在输出时我们就需要对他们进行判定,进而输出更加精准的消息。
    对于,一种还是两种的判断,我们有函数len()。
    对于,是一种时,我们输出哪种消息;是两种时,我们输出哪种消息。我们有判断语句if。
    加上len(languages)<2,判断为喜欢一种语言。否则,是两种。(这里因为我们只有两种情况需要判断。)
    上代码:

    #coding:utf-8
    favorite_languages={           #定义变量“favorite_language”的键值对字典。
        'jen':['python','ruby'],
        'sarah':['C'],
        'edward':['ruby','go'],
        'phil':['python','haskell'],
        }
    
    for name,languages in favorite_languages.items():#在这里定义了变量“name”和“languages”
        if len(languages)<2:       #len(**)函数表示变量“**”的数量;这时变量“languages”才会被识别。
            print("\n"+name.title()+"'s favorite language is: ")
            
        else:
            print("\n"+name.title()+"'s favorite languages are: ")
    
        for language in languages:
            print("\t" + language.title())
    

    调试输出:(就是我们开篇看到情况)

    
    Jen's favorite languages are:
            Python
            Ruby
    
    Sarah's favorite language is:
            C
    
    Edward's favorite languages are:
            Ruby
            Go
    
    Phil's favorite languages are:
            Python
            Haskell
    Press any key to continue . . .
    
    

    哈哈,写到这,应该结束了,以上是我的学习记录和分享,谢谢你的耐心阅读。
    See You~

    要加个郑重说明:我学习的书是Eric Matthes作者编写的《Python编程入门到实践》,局部代码源于此书,其余部分为原创。

    展开全文
  • python字典的定义

    2019-07-31 22:14:49
    字典的定义: 方式1:字典名 = {key1:value1,key2:value2,...} 比如: dict_a = {'name':'Mike','age':10,'sex':'boy'} print(dict_a) 结果:{'name': 'Mike', 'age': 10, 'sex': 'boy'} 方式2:字典名 = dict...

    字典的定义:
    方式1:字典名 = {key1:value1,key2:value2,...}

    比如:

    dict_a = {'name':'Mike','age':10,'sex':'boy'}
    print(dict_a)

    结果:{'name': 'Mike', 'age': 10, 'sex': 'boy'}

    方式2:字典名 = dict(变量名1 = 值1, 变量名2 = 值2, ...)

    比如:

    dict_b =dict(name='Mike',age=10,sex='boy')
    print(dict_b)

    结果:{'name': 'Mike', 'age': 10, 'sex': 'boy'}

    那么,第二种方式相比于第一种方式的好处是什么?或者说第二种方式更适合应用于哪个场景?

    暂时还不知道

    展开全文
  • 应用场景 存储描述一个物体相关信息
  • Python字典赋值到JavaScript变量

    千次阅读 2013-10-16 14:16:02
    Python字典赋值到JavaScript变量中,会报错,原因是两个语言字典格式定义不一样 具体格式就度娘把 两个格式要转换话,最好就是找个中间格式 这个格式就是JSON 比如python字典如下 dict = { 'param_1':1,...
  • 字典的定义: dictionary(字典)是除列表以外python之中最灵活的数据类型,字典同样可以用来存储多个数据;通常用于描述一个物体的相关信息 字典和列表的区别: 列表是有序的对象集合,字典是无序的对象集合,字典用...
  • Python变量 字典字典的定义字典的常用操作增加删除元素修改查询字典的遍历总结 字典的定义 字典dictionary用 {key:value,…} 定义 字典使用键值对**{key : value}**存储数据,键值对之间使用 , 分隔 键 key 是索引...
  • 我在一个类中定义了一个字符串变量和一个字典变量 我实例化几个实例,分别对字符串变量和字典变量进行赋值,然后存储到一个链表中,最后打印发现字典变量总是会被最后一次赋值覆盖掉。 字典变量在类中就相当于...
  • 一、字典的定义 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列 字典python基础数据类型当中唯一一个映射关系的数据类型 字典格式:变量名=key;value,key:value…} ...
  • 1,字典的定义 dictionary (字典) 是除列表以外python之中最灵活的数据类型 字典同样可以用来存储多个数据 通常用于存储 描述一个物体的相关信息 和列表的区别 列表 是 有序 的对象集合 字典 是 无序 的对象集合...
  • Python的变量

    2019-09-25 03:07:08
    有时候定义函数时,参数有无及其个数都是可选择,这时参数形式可以为 **kwargs 字典对象 *args 数组对象 如 # -*- coding:utf-8 -*- class food(): v1='fruit' v2='meat' def eat(self,**kwargs).....
  • Python 动态定义变量

    2019-11-22 13:55:16
    目的:实现根据传入参数,如 n=...在Python的命名空间中,将变量名与值存储在字典中, 可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。 示例: names = locals() listTemp = for i in rang...
  • (1)python的数据类型可以分为 数字型 和 非数字型。 数字型 整型 (int) 浮点型(float) 布尔型(bool) 复数型 (complex)(主要用于科学计算) 非数字型 字符串 列表 元组 字典 (2)不同类型变量之间运算问题...
  • 字典的定义 # 字典是一个无序的数据集合,使用print函数输出字典时,通常输出的顺序和定义的顺序是不一致的! xiaoming = {"name": "小明", "age": 18, "gender": True, "height": 1.75, ...
  • 定义变量名时不需要指定类型,解释器会根据等号右侧数据自动推导出类型 变量类型 数字型和非数字型 数字型 整型 浮点型 布尔型(非0即真) 复数型 非数字型 字符串 列表 元组 字典 不同类型变量之间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,217
精华内容 486
关键字:

python字典变量的定义

python 订阅