Python--变量、输出与输入

简介: 【10月更文挑战第5天】

【10月更文挑战第5天】

1.变量

变量的命名以及赋值

变量是什么呢?

变量:可变的量,值是可以进行改变的

我们通过赋值符号“=”进行赋值

我们可以保存任意类型的数据

这个变量就相当于一个容器,这个容器是可以进行数据的存放的

我们能通过这个这个容易的名字进行数据的调用

定义格式:变量名=值

变量名:自己定义,我们需要遵循命名规则

值:数据

命名规则

1.只能有数字、字符、下划线_

2.不能以数字开头

3.不能有特殊的字符,如标点符号等

定义一个变量来存放名字

这个名字是一个文本,算是字符串,我们用双引号或者单引号包裹

使用变量格式:变量名

#编辑模式
name='小明'
#交互模式
name   回车
'小明'

我们在编辑模式对这个name进行定义,然后运行进入到交互模式里面,然后直接输入name 回车,编译器输出的就是我们之前对name的定义的数据

通过变量名我们是可以获取对应的数据的

#编辑模式
print(name)
#交互模式
小明

变量名我们是需要先进行定义我们才能进行使用的

文本数据被定义的话我们一定要用引号进行括起来的

如果我们用print进行打印的话,编译器会直接过滤掉引号

但是我们直接将变量拿出来到交互模式的话那么就不会去引号的

变量的多重定义,那么最后一次定义的就是我们最终变量里面存储的

#编辑模式
name='小明'
print(name)

name =1
print(name)

name ='小妹'
print(name)
#交互模式
小明
1
小妹

每次定义都是重新定义的,不管之前这个变量名有没有被定义,都以最后一次为基准

最后一次被定义的是啥,这个变量里面存的就是啥

就是新的值会将旧的值进行替换

这个就是重新赋的概念

同时定义多个变量:左边变量名数量和右边的值数量一定要一致

#编辑模式
a,b,c=1,2,3
print(a)
print(b)
print(c)
#交互模式
1
2
3

多个变量进行命名,我们一定要数量对应好

姓名和数据要对应好

官方式命名法:用下划线连接两个英文组成的名称

'''
假设现在猪肉 15块钱一斤,西兰花 6块一斤,辣椒 12块钱一斤
现在买2斤猪肉,1斤西兰花,2斤辣椒需要多少钱?
'''
zhurou=15
xilanhua=6
lajiao=12
print(zhurou*2+xilanhua*1+lajiao*2)
然后编译器输出的就是60

'''
第二天猪肉涨价为18块钱一斤
买同样的材料需要多少钱?

那么我们现在只需要将这个猪肉的价格进行修改就行了
'''
zhurou=18
print(zhurou*2+xilanhua*1+lajiao*2)
编译出来的就是66

关键字和内置函数

我们在对变量进行命名的时候我们是不能用关键字进行命名的

那么我们是怎么进行关键字的查看呢?

查看关键字的方式:

#查看关键字
import keyword
print(keyword.kwlist)

'''
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else',
'except', 'finally', 'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
'return', 'try', 'while', 'with', 'yield']

关键字:保留字,回赋予一些特殊的含义

我们是不能用这些关键字进行变量名字的定义的

举例:我们之前学到的True就是真,表示的是1

但是现在我们将这个进行重新赋值,那么这个表示的大小就被重新替换掉了

那么这个就对代码产生了极大的危害

我们是没有这个权限对关键字进行重新赋值的

但是true和false是可以进行变量的命名的

因为开头字母是小写的,不是关键字

关键字的颜色一般是橙色的

我们的变量名一般就是黑色的

紫色的就是python里面的内置函数,也是不能用来对变量进行命名

查看内置函数的方式:

#编辑模式
print(dir(__builtins__))

#交互模式
'''
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
'''

2.变量的输出与输入

输出print

输出我们用的是print函数

print(要输出的内容)

将括号内的内容进行一个打印,打印到交互面板

如果我们通过print函数来输出字符串的话那么编译器就是自动将引号省略

输出引号内的内容

我们的括号里面还能放表达式,编译器会在计算之后将其进行输出的

但是我们如果要输出多个数据应该怎么做呢?

多内容的打印方式:

#编辑模式
print('abcd',1+1,4**2)
#交互模式
abcd 2 16

我们在print的括号内用逗号将多个内容进行隔离

print(内容一,内容二,内容三)

打印出来的数据就是:内容一 内容二 内容三

分隔符---sep

换行是怎么操作的呢?我想要多个数据各为一行

设置多个数据时,数据之间的分隔符

sep是可以设置分隔符的,就是数据与数据之间用什么进行分开,我们是可以控制的

sep的位置通常在打印括号内的最后一个位置

sep来控制分隔符号:

#编辑模式
print('abcd',1+1,4**2,sep=";")#设置以分号进行分割
print('abcd',1+1,4**2,sep=":")#设置一冒号进行分割
print('abcd',1+1,4**2,sep="6")#设置一6进行分割
#交互模式
abcd;2;16
abcd:2:16
abcd62616

如果我们是不设置分隔符的话那么默认的分隔符就是一个空格

如果我们想换行,怎么用sep实现呢?

#编辑模式
print('abcd',1+1,4**2,sep="\n")
#交互模式
abcd
2
16

我们将分隔符设置为'\n'就行了

\n就是换行的操作,就是编译器帮我们进行回车的操作

想要被打印的数据之间用什么符号进行间隔,我们通过sep='分隔符'这个操作就能进行实现了

end的使用

为什么我们的每个单独的print函数的后面好像是有个换行符一样,我们不需要进行写sep就能换行

#编辑模式
print(1)
print(2)
print(3)
#交互模式
1
2
3

设置内容回输出完毕之后以什么内容结尾

end='结尾符',结尾默认是换行

我们这里的print的结尾符默认是换行\n

我们没有在括号内设置的,系统堆print是默认是换行的

一句print就是一行的

但是我们现在不想默认换行了怎么办,我么想用其他的符号进行运用

#编辑模式
print(1,end="+")
print(2)
print(3)

print(3,end="*")
print(4)
#交互模式
1+2
3
3*4

我们在这里没有以换行符进行结尾

我们以+和*进行结尾

那么我们输出的就是

1+2

3

3*4

我们将默认的换行符变为其他的符号进行结尾

end和sep的区别

区别:

#编辑模式
print(1,sep="!")

print(1,end="+")
#交互模式
1
1+

我们的sep只有在多个数据存在的时候才能发挥作用

只有一个数据的话是不会生效的,两个及以上的数据才会生效

但是我们的end就不一样,end是直接在结尾设置我们想要的符号,不管是几个数据

不管是end还是sep,前面的逗号一定要是英文逗号,不能是中文逗号

输入input

格式:input("提示内容")

我们能在交互模式通过键盘输入数据

作用:你想给计算机什么信息,则使用输入函数录用,通过排变量进行保存

注意:input接收到的所有数据都是字符串类型,可以通过类型转换为对应的数据类型

input返回的是字符串类型,所以我们需要进行类型转换,转换为对应的类型进行正确的操作

name=input("请输入你的名字:")#定义变量,存放输入的数据
print(name)

input括号内的是输入我们的提示信息,提醒用户输入

在输入数据之后,这个数据就被存放到了name里面了

然后我们将其进行打印,然后就得到了我们输入的东西了

我们需要按下回车键告诉编译器我们已经输入完了,然后由编译器进行后面的其他操作

我们一定是要在input后面的括号内输入提示信息,不然后面代码量提高了就很不方便的

一定要在交互模式进行键盘的输入数据,输入完数据需要回车才能结束等待输入的状态

#键盘输入两个数字,进行加法操作,并将值给他进行输出
#编辑模式
num1=input("请输入第一个数字")
num2=input("请输入第二个数字")
print(num1+num2)
#交互模式
请输入第一个数字12
请输入第二个数字12
1212

为什么我们最后的的结果是1212呢?

好像就是将我们输入的两个值进行了拼接一样

怎么和字符串的加法一样呢?

对于input来说,我们不管输入什么,系统都会将我们输入的看作是一个字符串

所以我们这里的结果就是和字符串拼接效果是一样的

为了能使用我们输入的数字进行加法操作,我们需要将我们输入的数据转换为整型类型的数据

然后就能进行整型的相加了

下面我们就介绍转换数据类型

转换数据类型

数据类型:整型(Int)浮点型(float)字符串(str)

如果我们需要将浮点型转换为整型该怎么操作呢?

int(我们写的浮点型)

int(12.4)

那么转换出来的就是12

只保留整数部分,舍去小数部分

将字符串转换为整型进行输出

print(int('123'))

输出123

str()将输入的数据转换为字符串

整形转换为为浮点型就是在后面添加小数部分

字符串转换为浮点型其实都差不多

对于字符串转换为整型的时候,我们字符串引号里面的字符只能够是数字

不能够是字母,因为我们字母是不能变成数字的

那么回到上面的题目我们就能将我们输入的进行相加

##键盘输入两个数字,进行加法操作,并将值给他进行输出
num1=input("请输入第一个数字")
num2=input("请输入第二个数字")
print(int(num1)+int(num2))

我们直接在打印的括号里面将我们输入的数字进行转换为整型

任何数据转换为字符串直接将数据用引号括起来

我们不仅可以在输入的时候进行转换,我们也可以在使用的时候进行打印的时候转换

##键盘输入两个数字,进行加法操作,并将值给他进行输出
num1=int(input("请输入第一个数字"))
num2=int(input("请输入第二个数字"))
print(num1+intnum2)

直接在我们输入完就进行转换为整型

然后两个整型的相加

eval--将字符串的引号去除

eval(字符串):将字符串的引号去除,只显示引号里面的数据

我们现在想实现输入的是什么数据就准确转换什么数据

eval的使用:

num=eval(input("请输入数据"))
print(type(num))
print(num)

我们直接利用eval在输入的时候将字符串的引号进行去除

我们输入的数据为字符串类型的话,那么我们就不能使用eval了

就会报错了

相关文章
|
29天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
31 4
|
2月前
|
Python
【10月更文挑战第5天】「Mac上学Python 8」基础篇2 - 变量深入详解
本篇将详细介绍Python中变量的使用方式和进阶操作,涵盖变量的输入与输出、变量的多重赋值、变量的内存地址管理以及变量的传递和交换等操作。通过本篇的学习,用户将对变量的使用有更深入的理解,并能灵活运用变量进行各种编程操作。
54 1
【10月更文挑战第5天】「Mac上学Python 8」基础篇2 - 变量深入详解
|
3月前
|
机器学习/深度学习 算法 数据可视化
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
特征工程是机器学习流程中的关键步骤,通过将原始数据转换为更具意义的特征,增强模型对数据关系的理解能力。本文重点介绍处理数值变量的高级特征工程技术,包括归一化、多项式特征、FunctionTransformer、KBinsDiscretizer、对数变换、PowerTransformer、QuantileTransformer和PCA,旨在提升模型性能。这些技术能够揭示数据中的潜在模式、优化变量表示,并应对数据分布和内在特性带来的挑战,从而提高模型的稳健性和泛化能力。每种技术都有其独特优势,适用于不同类型的数据和问题。通过实验和验证选择最适合的变换方法至关重要。
47 5
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
|
2月前
|
测试技术 Python
Python MagicMock: Mock 变量的强大工具
Python MagicMock: Mock 变量的强大工具
|
2月前
|
存储 Java 编译器
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
20 0
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
|
2月前
|
存储 C语言 Python
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
23 2
|
3月前
|
测试技术 Python
Python MagicMock: Mock 变量的强大工具
Python MagicMock: Mock 变量的强大工具
|
3月前
|
存储 C语言 Python
通过 Cython 带你认清 Python 变量的本质
通过 Cython 带你认清 Python 变量的本质
52 8
|
2月前
|
存储 程序员 Python
Python编程入门:探索变量和数据类型
【10月更文挑战第8天】本文是针对初学者的Python编程入门指南,重点介绍Python中变量的定义和使用以及不同的数据类型。我们将通过实例来理解基本概念,并展示如何在Python程序中应用这些知识。文章旨在帮助初学者建立扎实的基础,使他们能够更自信地编写Python代码。
WK
|
2月前
|
Python
Python变量命名
在Python编程中,变量命名对代码的可读性和维护性至关重要。遵循PEP 8风格指南,变量名应使用小写字母和下划线分隔单词,保持简洁明了、描述性强,避免使用单字母、Python关键字和内置函数名,采用有意义的缩写,使用英文命名,保持命名风格一致,避免魔法数字,考虑上下文。正确示例:`user_name`、`order_quantity`;不正确示例:`n`、`q`。
WK
28 0