📜  Python变量

📅  最后修改于: 2022-05-13 01:55:00.559000             🧑  作者: Mango

Python变量

Python不是“静态类型的”。我们不需要在使用它们之前声明变量或声明它们的类型。一个变量在我们第一次给它赋值的那一刻就被创建了。变量是赋予内存位置的名称。它是程序中存储的基本单位。

  • 存储在变量中的值可以在程序执行期间更改。
  • 变量只是内存位置的名称,对变量执行的所有操作都会影响该内存位置。

在Python中创建变量的规则:

  • 变量名必须以字母或下划线字符开头。
  • 变量名不能以数字开头。
  • 变量名只能包含字母数字字符和下划线(Az、0-9 和 _)。
  • 变量名区分大小写(name、Name 和 NAME 是三个不同的变量)。
  • 保留字(关键字)不能用于命名变量。

让我们看看简单的变量创建:

Python3
#!/usr / bin / python
  
# An integer assignment
age = 45
  
# A floating point
salary = 1456.8
  
# A string
name = "John"
  
print(age)
print(salary)
print(name)


Python3
# declaring the var
Number = 100
  
# display
print( Number)


Python3
# declaring the var
Number = 100
  
# display
print("Before declare: ", Number)
  
# re-declare the var
Number = 120.3
    
print("After re-declare:", Number)


Python3
#!/usr / bin / python
  
a = b = c = 10
  
print(a)
print(b)
print(c)


Python3
#!/usr / bin / python
  
a, b, c = 1, 20.2, "GeeksforGeeks"
  
print(a)
print(b)
print(c)


Python3
#!/usr / bin / python
  
a = 10
a = "GeeksforGeeks"
  
print(a)


Python3
#!/usr / bin / python
  
a = 10
b = 20
print(a+b)
  
a = "Geeksfor"
b = "Geeks"
print(a+b)


Python3
#!/usr / bin / python
  
a = 10
b = "Geeks"
print(a+b)


Python3
# This function uses global variable s
def f():
    s = "Welcome geeks"
    print(s)
  
  
f()


Python3
# This function has a variable with
# name same as s.
def f():
    print(s)
  
  
# Global scope
s = "I love Geeksforgeeks"
f()


Python3
# Python program to modify a global
# value inside a function
  
x = 15
  
  
def change():
  
    # using a global keyword
    global x
  
    # increment value of a by 5
    x = x + 5
    print("Value of x inside a function :", x)
  
  
change()
print("Value of x outside a function :", x)


Python3
# numberic
var = 123
print("Numbric data : ", var)
  
# Sequence Type
String1 = 'Welcome to the Geeks World'
print("String with the use of Single Quotes: ")
print(String1)
  
# Boolean
print(type(True))
print(type(False))
  
# Creating a Set with
# the use of a String
set1 = set("GeeksForGeeks")
print("\nSet with the use of String: ")
print(set1)
  
# Creating a Dictionary
# with Integer Keys
Dict = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
print("\nDictionary with the use of Integer Keys: ")
print(Dict)


Python3
x = 5
y = x


Python3
x = 'Geeks'


Python3
# Python program to show that the variables with a value 
# assigned in class declaration, are class variables and
# variables inside methods and constructors are instance
# variables.
    
# Class for Computer Science Student
class CSStudent:
   
    # Class Variable
    stream = 'cse'            
   
    # The init method or constructor
    def __init__(self, roll):
     
        # Instance Variable    
        self.roll = roll       
    
# Objects of CSStudent class
a = CSStudent(101)
b = CSStudent(102)
    
print(a.stream)  # prints "cse"
print(b.stream)  # prints "cse"
print(a.roll)    # prints 101
    
# Class variables can be accessed using class
# name also
print(CSStudent.stream) # prints "cse"


输出:

45
1456.8
John

声明变量:

让我们看看如何声明变量并打印变量。

Python3

# declaring the var
Number = 100
  
# display
print( Number)

输出:

100

重新声明变量:

一旦我们已经声明了变量,我们就可以重新声明Python变量。

Python3

# declaring the var
Number = 100
  
# display
print("Before declare: ", Number)
  
# re-declare the var
Number = 120.3
    
print("After re-declare:", Number)

输出:

Before declare:  100
After re-declare: 120.3

将单个值分配给多个变量:

此外, Python允许使用“=”运算符同时将单个值分配给多个变量。
例如:

Python3

#!/usr / bin / python
  
a = b = c = 10
  
print(a)
print(b)
print(c)

输出:

10
10
10

为多个变量分配不同的值:

Python允许使用“,”运算符在一行中添加不同的值。

Python3

#!/usr / bin / python
  
a, b, c = 1, 20.2, "GeeksforGeeks"
  
print(a)
print(b)
print(c)

输出:

1
20.2
GeeksforGeeks

我们可以为不同的类型使用相同的名称吗?

如果我们使用相同的名称,变量开始引用一个新的值和类型。

Python3

#!/usr / bin / python
  
a = 10
a = "GeeksforGeeks"
  
print(a)

输出:

GeeksforGeeks

+运算符如何处理变量?

Python3

#!/usr / bin / python
  
a = 10
b = 20
print(a+b)
  
a = "Geeksfor"
b = "Geeks"
print(a+b)
输出
30
GeeksforGeeks

我们也可以将 + 用于不同的类型吗?

不使用不同类型会产生错误。

Python3

#!/usr / bin / python
  
a = 10
b = "Geeks"
print(a+b)

输出 :

TypeError: unsupported operand type(s) for +: 'int' and 'str'

Python中的全局变量和局部变量:

当地的 变量 是在 函数内部定义和声明的。我们不能在函数之外调用这个变量。

Python3

# This function uses global variable s
def f():
    s = "Welcome geeks"
    print(s)
  
  
f()

输出:

Welcome geeks

全局变量是在 函数外部定义和声明的变量,我们需要在函数内部使用它们。

Python3

# This function has a variable with
# name same as s.
def f():
    print(s)
  
  
# Global scope
s = "I love Geeksforgeeks"
f()

输出:

I love Geeksforgeeks

Python中的全局关键字:

全局关键字是允许用户修改当前范围之外的变量的关键字。它用于从非全局范围(即在函数内部)创建全局变量。仅当我们要进行赋值或要更改变量时,才在函数内部使用全局关键字。打印和访问不需要全局。

全局关键字规则:

  • 如果一个变量在函数体内的任何地方都被赋值,除非明确声明为全局变量,否则它被假定为局部变量。
  • 仅在函数内部引用的变量是隐式全局的。
  • 我们使用 global 关键字在函数内部使用全局变量。
  • 不需要在函数之外使用 global 关键字。

例子:

Python3

# Python program to modify a global
# value inside a function
  
x = 15
  
  
def change():
  
    # using a global keyword
    global x
  
    # increment value of a by 5
    x = x + 5
    print("Value of x inside a function :", x)
  
  
change()
print("Value of x outside a function :", x)

输出:

Value of x inside a function : 20
Value of x outside a function : 20

Python中的变量类型:

数据类型是数据项的分类或分类。它表示可以对特定数据执行哪些操作的值类型。由于在Python编程中一切都是对象,因此数据类型实际上是类,变量是这些类的实例(对象)。

以下是Python的标准或内置数据类型:

  • 数字
  • 序列类型
  • 布尔值
  • 字典

例子:

Python3

# numberic
var = 123
print("Numbric data : ", var)
  
# Sequence Type
String1 = 'Welcome to the Geeks World'
print("String with the use of Single Quotes: ")
print(String1)
  
# Boolean
print(type(True))
print(type(False))
  
# Creating a Set with
# the use of a String
set1 = set("GeeksForGeeks")
print("\nSet with the use of String: ")
print(set1)
  
# Creating a Dictionary
# with Integer Keys
Dict = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
print("\nDictionary with the use of Integer Keys: ")
print(Dict)

输出:

Numbric data :  123
String with the use of Single Quotes: 
Welcome to the Geeks World



Set with the use of String: 
{'r', 'G', 'e', 'k', 'o', 's', 'F'}

Dictionary with the use of Integer Keys: 
{1: 'Geeks', 2: 'For', 3: 'Geeks'}

对象参考:

让我们将变量 x 分配给值 5,并将另一个变量 y 分配给变量 x。

Python3

x = 5
y = x

当Python查看第一条语句时,它所做的是,首先,它创建一个对象来表示值 5。然后,如果变量 x 不存在,它会创建它,并使其成为对这个新对象 5 的引用。第二行导致Python创建变量 y,并且它没有分配 x,而是引用 x 所做的那个对象。最终结果是变量 x 和 y 最终引用了同一个对象。这种情况,多个名称引用同一个对象,在Python中称为共享引用
现在,如果我们写:

Python3

x = 'Geeks'

该语句创建一个新对象来表示“Geeks”,并使 x 引用这个新对象。

创建对象(或类类型的变量):

有关详细信息,请参阅类、对象和成员。

Python3

# Python program to show that the variables with a value 
# assigned in class declaration, are class variables and
# variables inside methods and constructors are instance
# variables.
    
# Class for Computer Science Student
class CSStudent:
   
    # Class Variable
    stream = 'cse'            
   
    # The init method or constructor
    def __init__(self, roll):
     
        # Instance Variable    
        self.roll = roll       
    
# Objects of CSStudent class
a = CSStudent(101)
b = CSStudent(102)
    
print(a.stream)  # prints "cse"
print(b.stream)  # prints "cse"
print(a.roll)    # prints 101
    
# Class variables can be accessed using class
# name also
print(CSStudent.stream) # prints "cse"    
输出
cse
cse
101
cse