变量

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

创建变量

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. Centos8上安装python3.X

    一.更新yum源 命令:yum update 二.更新依赖环境 命令:yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sq ...

  2. Fasfdfs搭建

    目录 介绍 参考 tracker-server: storage-server: group: meta data: 部署 FastDfs服务架构图 本地部署服务 安装 libfastcommon 和 ...

  3. HW学习笔记

    栈库分离方法注意事项: 所有用户输入数据需要进行分离过滤,不能遗漏.选择安全的过滤函数 如 mysql_real_escape_string(),避免过滤不严格导致注入 SQL查询模板需要设计安全,米 ...

  4. IDE中使用Git提交代码报错:Push to origin/release-V2 was rejected

    一.问题由来 当前项目开发好之后,已经正常稳定运行一两个月,在使用过程中基本上没在出现什么BUG.因此公司在讨论准备开发二期项目,自己 就在之前的基础之上,使用git创建了分支,一个分支release ...

  5. Git Flow 的正确使用姿势 - 分支 branch - master dev 使用方式

    Git Flow 的正确使用姿势 https://www.jianshu.com/p/41910dc6ef29

  6. 候捷-C++程序设计(Ⅱ)兼谈对象模型

    目录 笔记参考 学习目标 转换函数与explicit pointer-like classes function-like classes 模板template 模板特化与偏特化 模板模板参数 引用( ...

  7. linux下几种快速清空文件内容的方法

    [root@iamzken ~] : > filename [root@iamzken ~] > filename [root@iamzken ~] echo "" & ...

  8. MySQL 如何以当前日期时间作为字段初始默认值?

    1.以当前时间作为默认值 使用 DEFAULT CURRENT_TIMESTAMP 声明字段,插入记录时不用指定 dt,自动置入当前时间 CREATE TABLE t1 ( dt DATETIME D ...

  9. 35_音视频播放器_seek&暂停

    目录 一.实现seek功能 二.解决点击seek操作时会出现画面快速闪过 三.实现暂停功能 3.1.音频暂停 3.2.视频暂停 一.实现seek功能 我们主要是使用ffmpeg的av_seek_fra ...

  10. Linux socket 摘要(一)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...