乐虎游戏|乐虎国际登录|欢迎你

Python判定变量是不是早就定义的主意,python决断变量定义

日期:2020-01-05编辑作者:计算机资讯

Python判断变量是否已经定义的方法,python判断变量定义

Python判断变量是否已经定义是一个非常重要的功能,本文就来简述这一功能的实现方法。

其实Python中有很多方法可以实现判断一个变量是否已经定义了。这里就举出最常用的两种作为示例,如下所示:

方法一:try except方法:

def isset(v): 
   try : 
     type (eval(v)) 
   except : 
     return  0  
   else : 
     return  1  

用法:

if isset('user_name'): 
  print 'user_name is defined' 
else 
  print 'user_name is not defined' 

方法二:使用命名空间:

'varname' in locals().keys()
'varname' in  dir()

本文示例仅作参考,读者还可以继续在Python的编程实践中继续总结其他的方法。

Python是当今日趋流行的一种脚本语言,它比Java更简单,比php更强大,并且还适用于做桌面应用的开发,在ubuntu中,更加是必须的一种脚本引擎,所以有必要去学习一下,这里的文章只针对有一定编程基础,最好是比较熟悉php或javascript的用户,如果没任何基础的新手建议找更详细的教程去学习。

python怎判断变量是否已经定义

Python中其实有蛮多方法可以判断一个变量是否已经定义了。方法一:try except[mw_shl_code=python,true]def isset(v): try : type (eval(v)) except : return 0 else : return 1 [/mw_shl_code]用法:[mw_shl_code=python,true]if isset('user_name'): print 'user_name is defined' else print 'user_name is not defined' [/mw_shl_code]方法二:使用命名空间[mw_shl_code=python,true]'varname' in locals().keys()'varname' in dir()[/mw_shl_code]推荐使用第二种方法来判断  

Python的变量是不需要定义的,这方面和php一样,它比javascript还是宽松,不过它是用缩进作为段落标识的,作为习惯了C语言风格语法的人,可能一开始会很不习惯使用,但细一想,其实也是很正常,很合理的。虽然Python在面向过程/面向对象方面也是很宽松,但实际上一般的程序都是一个主入口,然后不断调用其它类库或函数,所以用缩进的方式并无不妥,那样一方面要求用户写代码时要规范,另一方面反向省去了多余的{}。
与C语言风格相比,Python主要语法特点而下:

python 判断变量是否定义

vars(不带参数的形式)和locals这两个内建函数返回一个当前scope内定义的所有局部变量的字典。>>> 'a' in vars() False>>> a = 1>>> 'a' in vars()True>>> b = 2>>> locals()  

Python判断变量是否已经定义是一个非常重要的功能,本文就来简述这一功能的实现方...

1、变量、字符串     在python中,所有变量都是对象,数组其实是一个链表,并且可以进行相应的链表操作。
1.1 对于普通数据类型,定义/赋值方法都是一样的,这里不作介绍,python的字符串方面有些特别,这里介绍一下。
python对字符串用 [']["] 括起含义是一样的,同样对特殊字符使用 [] 进行转义
不过它有一个很特别的语法就是:[''']三引号,它用于括起分多行的字符串,实际是这也可以作为它的多行注解,如:

复制代码 代码如下:

# -*- coding: gb18030 -*-
'''
单独使用三引号,字符串因为没有使用,就相当于注解了
下面是给一个变量赋值
'''
str = ''' 我是一个三引号,'oh!'我可以换行,
          换行了,照样OK '''
print str

这样的语法很有趣吧。
需要特别注意的是,如果源码里有中文的,一定要在源码的第一行定义:
# -*- coding: gb18030 -*-

当然,你也可以使用utf-8编码,这看你是在linux还是在windows下调试了。

1.2 此外关于变量方面,有几个内置类型是有必要了解的,它们是:None、True、False (注意:python的变量是严格区分大小写的)

None 是表示没定义的变量,至于True/False这个谁都知道了吧,呵呵。

注解:除了用 ''' 作多行注解之外,也可以用 # 作为单行注解,这是linux下的脚本语言的常规做法了。

续行:python 中对于太长的行,可以用 表示未结束,这和linux的shell的通用做法是一致的。

1.3 数组定义:
arr = ['a', 'b', 'c']
等同于
arr = []
arr += ['a']
arr += ['b']
arr += ['c']
#遍历方法:
for i in range(0, len(arr)):
    print arr[i], "n"
python的数组实际不是数组,而是一个list对象,如果要参考它的用法,可以参考这个对象的方法。
需要注意的是,python的数组实际是一个链表,因此定义后不能像php之类语言一样,直接在后面追加元素,而是需要用操作链表的方法操作。在上述例子中:如果用 arr[2] = 'ccccc' 可以改变第三个元素的值,但如果用 arr[3] = 'dddd' 增加一个元素是会指错的,应该用:arr.append('ddddd') 或 arr.insert(任意位置, 'dddd') 增加元素

对于多维数组,定义方式为: arr = [[]] * 3 它定义的是:[[], [], []],也可以用 arr = [[] for i in range(3)]

对于数组和字符串等常用操作,后面会有一章专门介绍,这里就不在列举更多的使用方法。

2、区块的定义(如语句、函数等)

Python的区块的格式都是

区块代码:
    区块内部的代码

它怎么判断区块结束呢?它不同VB、Dephi之类,区块都是有结束标志的,它没有,它是纯粹根据缩进来识别的,这样虽然有点怪异,不过习惯了会觉得也是挺好的。

区块基本定义语法:

2.1. if / elif / else

复制代码 代码如下:

x=int(raw_input("Please enter an integer:")) #获取行输入
if x>0:
    print '正数'
elif x==0:
    print '零'
else:
    print '负数'

Python中没用三问运算符,不过可以用 (满足条件的值 if 满足条件 else 未满足条件的值) 替代
如: str = ('ok' if 1>2 else 'not ok')
最终结果是: str == 'not ok'

这里需要说明的一个地方是,python中没有 !、&& 和 || 运算符,而是用 not、and、or

2.2. in in判断 一个数 是否在 一个集合(如:元组,列表等) 中
if 'yes' in  ('y','ye','yes'):
    print  'ok'
与之相对应的还有 not in

2.3. for ... in python中没有类似C 中的for循环,而是使用for...in来对集合中的每一个元素进行操作

复制代码 代码如下:

a=['cat','door','example']
for x in a:
    print x

等同于:

复制代码 代码如下:

for i in range( 0, len(a) ):
    print a[i]

如果要修改a的内容,请用a的副本循环 (否则不安全),如:

复制代码 代码如下:

a=["cat","tttyyyuuu"]
for x in a[:]:
    if len(x)>6: a.insert(0,x)
print a

结果为:
['tttyyyuuu', 'cat', 'tttyyyuuu']

**2.4. break / continue

**这两个的用法和其它C语法类的语言相同

复制代码 代码如下:

for i in range(10):
    if 2==i: continue #结束当前循环,进入下一步循环
    if 6==i: break #跳出循环
    print i

本文由乐虎游戏发布于计算机资讯,转载请注明出处:Python判定变量是不是早就定义的主意,python决断变量定义

关键词:

分享一些非常实用的 Vim 命令

分享一些非常实用的 Vim 命令 我明确地说,我是一个 Vim的粉丝。所以在你们中的某些人向我扔石头之前,我先向你们...

详细>>

Python内置的字符串处理函数详细整理(覆盖日常所用),python内置

Python内置的字符串处理函数详细整理(覆盖日常所用),python内置 str='python String function' 生成字符串变量str='python Strin...

详细>>

如何实现div水平和垂直居中效果,div水平垂直居中

如何实现div水平和垂直居中效果,div水平垂直居中 如何实现div水平垂直和居中效果: 有时候可能我们需要让一个div在...

详细>>

Linux 中改过拼写错误的Bash 命令方法,linuxbash

Linux 中纠正拼写错误的Bash 命令方法,linuxbash 我知道你可以按下向上箭头来调出你运行过的命令,然后使用左/右键移...

详细>>