首页 > 其他分享 >day02-变量

day02-变量

时间:2023-09-03 23:55:52浏览次数:48  
标签:内置 变量 Python day02 print 标识符 赋值

1、变量的概念

在我们生活中,提到一个人或者一个物体,会有一个名字来称呼它; 那我们称呼一个人,我们不会叫一个人,而是喊他的名字,比如张三是这个人的名字   同样的,在计算机语言中,也是如此,我们会有很多数据或者对象,比如年龄18和名字张三 那我们就需要存储这些数据或者对象,并且还要起个名字,那么就要用到变量,所以变量就是该数据或者该对象的名字。   可能还有人不太理解,那我们用个通俗的方式解释,变量可以看做一个个小箱子,里边放着各种东西,每个箱子有自己的独一无二的记号,这样我们通过记号就可以找到我们所需要的东西  
这里我们深入一下,变量是存在我们电脑内存里的,所以电脑的内存会分成很多内存块,而每个内存块都有自己的独一无二的变量名

2、变量的赋值

现在已明白变量是怎么回事了,那我们要给变量赋值,把数据或对象放入变量的过程就叫赋值,比如我们上边的举例变量是一个个小箱子,而把东西放入一个个小箱子里,其实就叫我们的赋值,而在Python中,我们使用等号=来进行赋值。 格式如下:
name = value
namg 表示我们的变量名,具体怎么命名我们下边讲 value 表示值,也就是要存储的数据   例子:有一个人,名字叫张三,年龄是18,性别是男,体重是60.5 1)将该人的各个数据以变量赋值,并将各个变量打印输出 2)该人增长了10kg,将增长后的体重打印输出 3)将该人的全部信息打印出来(如名字张三,年龄18,性别男,体重60.6kg)
# 1
name = "张三"
age = 18
sex = '男'
weight = 60.5
print(name, age, sex, weight)

# 2 变量参与运算
weight = weight + 10
print(weight)

# 3 字符串拼接
print("名字" + name + ",年龄" + str(age) + ",性别" + sex + ",体重" + str(weight) + "kg")

 

从例子中我们可以知道,变量可以赋值,赋值后还可以进行运算,还可以字符串拼接,第3题如果不了解我们之后讲到Python的数据类型就会明白了   上边例子中的1题,我们还有个办法处理,这就用到了给多个变量进行同时赋值
# 1)
name, age, sex, weight = "张三", 18, '男', 60.5
print(name, age, sex, weight)

 

3、变量名的规则

Python标识符规范

上边讲到我们的变量名严格来说是可以随便起的,但是呢,要遵守我们的Python标识符规范,还有避开Python内置函数命名和Python的保留字命名。   以下是Python的标识符规范:
  1. 标识符由字母(大小写均可)、数字和下划线组成,但不能以数字开头。
  2. 标识符不能包含空格或特殊字符,如@、$、%等。
  3. 标识符区分大小写,例如,"myVar"和"myvar"是不同的标识符。
  4. 标识符不能是Python的关键字(保留字),如if、for、while等。关键字是Python语言中已经被赋予特殊含义的单词,不能用作标识符。
  5. 标识符应具有描述性且易于理解,以提高代码的可读性。
以下是一些符合Python标识符规范的示例:
my_variable
count
total_sum
MAX_VALUE
PI
is_valid
calculate_area
以下是一些不符合Python标识符规范的示例:
2nd_number  # 以数字开头,不符合规范
my-variable  # 包含特殊字符"-",不符合规范
for  # 是Python关键字,不能用作标识符
具体详细的内容也可看Python标识符命名规范

Python内置函数

Python提供了许多内置函数,这些函数可以直接在Python代码中使用,无需导入任何模块。以下是一些常见的Python内置函数:
  1. print():用于将指定的内容输出到控制台。
  2. input():用于从用户获取输入,返回用户输入的字符串。
  3. len():用于返回一个对象(字符串、列表、元组等)的长度或元素个数。
  4. type():用于返回一个对象的类型。
  5. int():用于将一个对象(通常是字符串)转换为整数类型。
  6. float():用于将一个对象(通常是字符串)转换为浮点数类型。
  7. str():用于将一个对象转换为字符串类型。
  8. list():用于将一个可迭代对象(如字符串、元组等)转换为列表。
  9. tuple():用于将一个可迭代对象(如字符串、列表等)转换为元组。
  10. range():用于生成一个指定范围内的整数序列。
  11. max():用于返回一组数值中的最大值。
  12. min():用于返回一组数值中的最小值。
  13. sum():用于计算一组数值的总和。
  14. abs():用于返回一个数值的绝对值。
  15. round():用于将一个数值四舍五入为指定小数位数的精度
  上述内置函数是我们常用的可以谨记,除了这些还有其他有用的内置函数可供使用。可以参考Python官方文档中的内置函数部分Python官方文档-内置函数  
tips:变量的命名不能使用内置函数,那我们就使用内置函数来命名,那会有什么问题呢?
print(type)
type = 2
print(type)

# 输出结果正确
<class 'type'>
2
发现竟然不报错,但是type原来的功能已经丧失   我们在来看一个
print(print)
print = 2

print("还能使用打印吗")
我们来运行下 报错:int对象不可被调用 原因: 先打印了print没有报错,然后print 赋值为整数 2,覆盖了内置函数 print() 的功能。当尝试调用 print("还能使用打印吗") 时,Python 将会将 print 视为整数对象,而不是函数

Python的保留字

Python中的保留字,也称为关键字(Keywords),是被Python编程语言保留的特定单词,具有特殊含义,用于表示语法结构、控制流程和定义标识符等。 这些保留字不能用作标识符(变量名、函数名等),因为它们已经在Python语言中具有了预定义的含义。   查看Python的关键字
import keyword
print(keyword.kwlist)
  Python关键字有哪些(截至Python 3.9版本) 请注意,这些保留字都是小写的,Python是区分大小写的,and是关键字,而And就不是关键字。  
tips:同样那我们使用关键字来作为变量,那会有什么问题呢?
print(is)
is = 2
print(is)

# 输出结果报错
print(is)
          ^
SyntaxError: invalid syntax
报错:语法错误:无效的语法 原因: is 是关键字,而不是变量,所以会引发语法错误;把 is 赋值为整数 2。这也是不允许的,因为关键字不能用作变量名。

4、变量的引用

在变量的概念中,我们简单介绍了变量的引用,接下来,我们深入下原理
a = 1print(id(a))        # id函数可以查看变量的内存地址

# 输出结果
140709863675552

其实呢,在内存中,a和1是分开存储的,通过a能找到1,是因为a存储着1这个对象的内存地址,这个也叫引用 所以底层原理:变量存储的是对象的内存地址  
a = 1
print(id(a))

b = a
print(b)
print(id(b))

# 输出结果
140709863675552
1
140709863675552

把a赋值给b了,b也会等于1,代码中看出b这里也是存储了1的内存地址,所以b也会等于1   那我们把a的值变下,a = 2,那现在a会等于多少,b会等于多少
a = 1
b = a
a = 2
print(a)
print(b)

# 输出结果 
a=2
b=1
b为什么没有改为2呢

 

可以看出,把a的值改为2,那么a就会存储2的内存地址,所以a=2 但是b还是存储的1的内存地址,所以b=1
a = 1
print(id(a))

b = a
print(id(b))
print("-------------------------------------")

a = 2
print(id(a))
print(id(b))

# 输出结果
140709863675552
140709863675552
-------------------------------------
140709863675584
140709863675552

5、与其他编程语言的区别

python 是动态类型语言,所以声明变量的时候不需要指定数据类型,同一个变量可以指向不同数据类型的值 简单来说
  • 变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
  • 变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。
  与Java、C语言、C++不同,这些语言需要先定义数据类型,在进行赋值  

标签:内置,变量,Python,day02,print,标识符,赋值
From: https://www.cnblogs.com/nuomituan/p/17675862.html

相关文章

  • C语言——全局变量和局部变量重名了会怎么样
    前言(1)今天在交流群里面看到这样一个问题:为什么这个程序中下面我定义的void型函数smart在全局变量前声明了,但是在man函数中调用了smart函数,m的值打印出来还是0。#include<stdio.h>intm;voidsmart(void);intmain(void){ printf("m=%d.\n",m); smart(); printf("m=......
  • 一键配置Java环境变量
    后缀改成bat运行@echooffsetJAVA_HOME=D:\ProgramFiles\Java\jdk-11setPATH=%PATH%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\binsetCLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jarsetRegV=HKLM\SYSTEM\CurrentControlSet\Control\Ses......
  • vue项目中全局引入cass(scss)变量和sass(scss) mixin
    1、使用场景variable.scss文件样例//颜色定义规范$color-background:#222;mixin.scss文件样例//背景图片@mixinbg-image($url){background-image:url($url+"@2x.png");@media(-webkit-min-device-pixel-ratio:3),(min-device-pixel-ratio:3){background-i......
  • dotnet SemanticKernel 入门 自定义变量和技能
    本文将告诉大家如何在SemanticKernel框架内定义自定义的变量和如何开发自定义的技能本文属于SemanticKernel入门系列博客,更多博客内容请参阅我的博客导航自定义变量是一个非常有用的技能,自定义变量可以让炼丹师和程序员进行并行工作。由炼丹师对AI模型进行训练,从而找到对......
  • java线程的ThreadLocal是线程变量
    java线程的localThread是线程局部变量,只能在线程内访问,方法有getsetremove.证明localThread只能在线程内访问的方法,在control层设置一个ThreadLocal,然后在service可以访问到ThreadLocal设置的值,另外就是浏览器的一次请求就是一个线程的请求.......
  • 今天练习JDBC,设置好连接语句,创建好sql,更新都弄好了,一直转圈圈,不出结果。真的是见了鬼
    2023-09-01今天练习JDBC,设置好连接语句,创建好sql,更新都弄好了,一直转圈圈,不出结果。真的是见了鬼了,之前还好好的。疑惑太大,一行一行的看,最后我发现一个问题建立连接时,用户名起的变量名必须为username,这样才能出来,不知道为啥,大冤种。 下面是正确的 packagecom.hh;import......
  • 变量是什么
    1、变量的定义和概念变量是计算机程序中非常重要的概念,生活日志指代了一个可以存储数据的内存空间。在计算机科学中,变量可以用来存储和管理不同的数据类型,如整数、浮点数、字符串等。变量在程序中具有可读写的特性,可以通过赋值操作来改变其存储的值。通过使用变量,我们可以在程序中......
  • go template函数,变量等语法示例
    Go标准库提供了几个package可以产生输出结果,而text/template 提供了基于模板输出文本内容的功能。html/template则是产生安全的HTML格式的输出。这两个包使用相同的接口,但是我下面的例子主要面向HTML应用。解析和创建模板命名模板模板没有限定扩展名,最流行的后缀是.tmpl,vim-go......
  • 16、C++ primer 变量声明和定义的关系P41
    1、什么是分离式编译?分离式编译(SeparateCompilation)是一种软件开发技术,用于将一个大型的程序分割成多个独立的源代码文件,并分别进行编译。每个源代码文件通常包含一个模块、类、函数或者其他逻辑单元的实现。2、声明使得名字为程序所知,一个文件如果想使用别处定义的名字则必须......
  • JS判断变量是否存在或已定义
    前言:因需求修改了公共文件,导致引入公共文件的部分页面因未引入来源js会报错,所以需要在公共文件中增加判断变量是否存在。为了确保代码的可靠性,应该对变量的定义进行检查,从而避免代码在运行时执行错误或不可预期的错误。一、typeofif(typeofmyVar==='undefined'){//my......