变量

变量是用于存储数据值的容器。

创建变量

Python没有用于声明变量的命令。

变量在您第一次为其分配值时被创建。

示例

x = 5
y = "John"
print(x)
print(y)

变量不需要声明为特定类型,并且甚至在设置后可以更改类型。

示例

x = 4       # x的类型为int
x = "Sally" # 现在x的类型是str
print(x)

类型转换

如果要指定变量的数据类型,可以使用类型转换。

示例

x = str(3)    # x将变为'3'
y = int(3) # y将变为3
z = float(3) # z将变为3.0

获取类型

您可以使用type()函数获取变量的数据类型。

示例

x = 5
y = "John"
print(type(x))
print(type(y))

您将在本教程后面学到更多关于数据类型和类型转换的知识。

单引号还是双引号?

字符串变量可以使用单引号或双引号声明:

示例

x = "John"
# 与以下代码等效
x = 'John'

区分大小写

变量名区分大小写。

示例

这将创建两个不同的变量:

a = 4
A = "Sally"
# A不会覆盖a

变量名

变量可以具有短名称(如x和y)或更具描述性的名称(age、carname、total_volume)。Python变量的规则如下:

  1. 变量名必须以字母或下划线字符开头。
  2. 变量名不能以数字开头。
  3. 变量名只能包含字母数字字符和下划线(A-z、0-9和_)。
  4. 变量名区分大小写(age、Age和AGE是三个不同的变量)。
  5. 变量名不能是Python关键字。

示例

合法的变量名:

myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John"

示例

不合法的变量名:

2myvar = "John"
my-var = "John"
my var = "John"

请记住,变量名区分大小写。

多个单词的变量名

具有多个单词的变量名可能难以阅读。

有几种技巧可以使它们更易读:

驼峰命名法(Camel Case)

除第一个单词外,每个单词都以大写字母开头:

myVariableName = "John"

帕斯卡命名法(Pascal Case)

每个单词都以大写字母开头:

MyVariableName = "John"

蛇形命名法(Snake Case)

每个单词由下划线字符分隔:

my_variable_name = "John"

一次给多个变量赋值多个值

Python允许您在一行中为多个变量分配值:

示例

x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)

注意:确保变量的数量与值的数量相匹配,否则将会出错。

一个值分配给多个变量

您可以在一行中将相同的值分配给多个变量:

示例

x = y = z = "Orange"
print(x)
print(y)
print(z)

解包集合

如果您有一个列表、元组等集合中的值,Python允许您将这些值提取到变量中。这称为解包。

示例

解包一个列表:

fruits = ["apple", "banana", "cherry"]
x, y, z = fruits
print(x)
print(y)
print(z)

输出变量

Python的print()函数通常用于输出变量。

示例

x = "Python is awesome"
print(x)

在print()函数中,您可以输出多个变量,用逗号分隔:

示例

x = "Python"
y = "is"
z = "awesome"
print(x, y, z)

您还可以使用+运算符输出多个变量:

示例

x = "Python "
y = "is "
z = "awesome"
print(x + y + z)

请注意,在"Python "和"is "之后有空格字符,如果没有空格字符,结果将是"Pythonisawesome"。

对于数字,+字符作为数学运算符起作用:

示例

x = 5
y = 10
print(x + y)

在print()函数中,当您尝试使用+运算符将字符串和数字组合在一起时,Python会报错:

示例

x = 5
y = "John"
print(x + y)

在print()函数中输出多个变量的最佳方法是用逗号分隔它们,甚至支持不同的数据类型:

示例

x = 5
y = "John"
print(x, y)

全局变量

在函数之外创建的变量(如上面的所有示例)被称为全局变量。

全局变量可以被所有人使用,无论是在函数内部还是在函数外部。

示例

在函数之外创建一个变量,并在函数内部使用它:

x = "awesome"

def myfunc():
print("Python is " + x) myfunc()

如果您在函数内部创建了一个具有相同名称的变量,这个变量将是局部的,只能在函数内部使用。具有相同名称的全局变量将保持不变,仍然是全局的,并具有原始值。

示例

在函数内部创建一个与全局变量同名的变量:

x = "awesome"

def myfunc():
x = "fantastic"
print("Python is " + x) myfunc() print("Python is " + x)

global关键字

通常,当您在函数内部创建一个变量时,该变量是局部的,只能在该函数内部使用。

要在函数内部创建一个全局变量,您可以使用global关键字。

示例

如果使用global关键字,变量属于全局范围:

def myfunc():
global x
x = "fantastic" myfunc() print("Python is " + x)

此外,如果要在函数内部更改全局变量的值,也可以使用global关键字。

示例

要在函数内部更改全局变量的值,请使用global关键字引用该变量:

x = "awesome"

def myfunc():
global x
x = "fantastic" myfunc() print("Python is " + x)

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

Python 变量:创建、类型、命名规则和作用域详解的更多相关文章

  1. Python中的变量和作用域详解

    Python中的变量和作用域详解 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部 ...

  2. PHP常量、变量作用域详解(一)

    PHP 中的每个变量都有一个针对它的作用域,它是指可以在其中访问变量(从而访问它的值)的一个领域.对于初学者来说,变量的作用域是它们所驻留的页面.因此, 如果你定义了 $var,页面余下部分就可以访问 ...

  3. PHP变量作用域详解(二)

    学过C的人用PHP的时候一般会相当顺手,而且感到PHP太方便太轻松.但在变量作用域这方面却与C有不同的地方,搞不好会相当郁闷,就找不到错误所在.昨晚就与到这么一个问题,是全局变量在函数中的问题.今天搜 ...

  4. Java基础-变量的定义以及作用域详解

    Java基础-变量的定义以及作用域详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字面量 常量(字面量)表示不能改变的数值(程序中直接出现的值).字面量有时也称为直接量,包 ...

  5. Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例

    Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...

  6. Python中生成器和yield语句的用法详解

    Python中生成器和yield语句的用法详解 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" ...

  7. javascript中的this作用域详解

    javascript中的this作用域详解 Javascript中this的指向一直是困扰我很久的问题,在使用中出错的机率也非常大.在面向对象语言中,它代表了当前对象的一个引用,而在js中却经常让我觉 ...

  8. 【转】Python的hasattr() getattr() setattr() 函数使用方法详解

    Python的hasattr() getattr() setattr() 函数使用方法详解 hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值 ...

  9. 利用python求解物理学中的双弹簧质能系统详解

    利用python求解物理学中的双弹簧质能系统详解 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的 ...

  10. python编写微信公众号首图思路详解

    前言 之前一直在美图秀秀调整自己的微信公众号首图,效果也不尽如人意,老是调来调去,最后发出来的图片被裁剪了一大部分,丢失部分关键信息,十分恼火,于是想着用python写一个程序,把微信公众号首图的模式 ...

随机推荐

  1. 第129篇:JS模块化开发

    好家伙,本篇为<JS高级程序设计>第二十六章"模块"学习笔记 JS开发会遇到代码量大和广泛使用第三方库的问题. 解决这个问题的方案通 常需要把代码拆分成很多部分,然后再 ...

  2. 【Azure Cloud Service】云服务升级后,查看配置文件发现编码变为utf-16

    问题描述 通过Migrate to ARM,把经典云服务升级成云服务(外延支持)后,在查看云服务的配置XML文件,发现文件的编码格式由 UTF-8 改变为 UTF-16 由此,引发了三个问题 1)Cl ...

  3. 一文了解 NebulaGraph 上的 Spark 项目

    本文首发于 Nebula Graph Community 公众号 最近我试着搭建了方便大家一键试玩的 Nebula Graph 中的 Spark 相关的项目,今天就把它们整理成文分享给大家.而且,我趟 ...

  4. 15. JVM垃圾回收器详解

    1. 垃圾回收器的分类 和 GC性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现. 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC ...

  5. Java 关于抽象类匿名子类

    1 package com.bytezreo.abstractTest; 2 3 /** 4 * 5 * @Description Abstract 关键字使用 6 * @author Bytezer ...

  6. 音标 舌侧音 /l/ 的发音 - 英语

    音标 舌侧音 /l/ 的发音 这个音标 首先确定下 就是一个音 发 了(注意 发音方式不是中文的了,是英文的了) 注意发音方式很重要 中文 '了',重点在 偏鼻音(发射方向为前上方) 英文 '了',重 ...

  7. uniapp使用uview报错Cannot find module ‘@/uni_modules/uview-ui/components

    参考:https://github.com/umicro/uView 记录使用uniapp报的错 注意uview目前只支持vue2 按照教程引入uview,然后执行的时候还是会报Cannot find ...

  8. 使用ConnectivityManager.bindProcessToNetwork绑定特殊网络

    最近测试那边提了一个bug,经过排查后发现其原因:是因为连接的Wi-Fi无法上网,因此在Android系统的多网络策略中,可以上网的SIM移动网络被设置为系统默认网络,投屏组件docker传输与反控模 ...

  9. django(视图层)

    更详细的视图层讲解,看下面链接 https://www.cnblogs.com/xiaoyuanqujing/articles/11643459.html 一. 三板斧 ''' HttpRespons ...

  10. Flutter Utils 全网最齐全的工具类

    FlutterUtils 目录介绍 01.事件通知bus工具类 02.颜色Color工具类 03.日期转化工具类 04.File文件工具类 05.Sql数据库工具类 06.Json转化工具类 07.L ...