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