python求变量类型,python语言数据类型,运算符和表达式
本文主要介绍python变量数据类型和运算符。不同类型的变量可以执行不同的操作,所以有必要了解变量的类型。以下文章更多信息,可以参考朋友。
00-1010 1数据类型1.1基本类型1.2类型判断2。运算符和表达式2.1算术运算符2.2模运算描述2.3数学函数2.4随机函数2.5赋值运算符2.6关系运算2.7逻辑运算2.7.1逻辑与2.7.2逻辑与2.7.3逻辑非2.8短路计算2.9注意事项2.10恒等式运算符2.11成员运算符2.12如果
目录
不同类型的变量可以执行不同的操作,所以我们必须了解变量的类型。在python中,数据类型可以分为:
内置类型:
数值类型:整数int,浮点float,复数3 5jstr:字符串bool:布尔值[True,false]None:空值,表示变量没有定值list:列表tuple:元组dict:字典set:集http://www . Sina.com/
自定义类型:级
1 数据类型
class :
数值类型:Python 3中只有一种int,可以表示整数,比如:10,-5,10000。整型(int): 用小数点表示实数,有两种表示法:小数表示法:1.9 .23科学计数法:e用来表示10的指数,1e2表示100。注意,E之前必须有一个数值,E后面必须有一个整数浮点型(float): 来表示数学上的无理数,比如:一个bj复数(complex):表示两种事态,男和女,阴晴,光明或黑暗等它只有两个值:真,假布尔型(bool):代表一个空的物体,一般用于判断。与python中的0和空字符None:,不同,字符串字符串(str):由引号(单引号、双引号和三引号)表示。
#用单引号括起来:“hello”
#在双引号中:“我使用python”
#用3个单引号表示:它可以表示多行文本,例如:
太好了!
出租车
祖国
#用3个双引号表示:它可以表示多行文本,例如:
生死悲观,
如果你不接受,那就接受吧
字符串的表示:的一些特殊字符不能从键盘输入,但可以用转义字符表示。另外,不管
是单引号、双引号还是三引号字符串,其中引号是字符串界定符,引号并不是字符串的内容,那么如何在单引号字符串中表示一个单引号呢,这也可以使用转义字符表示。常见的转义字符
\'
\"
\'''
\\
\"""
- 字符串编码:计算机只能识别二进制,那么字符串如何存储到计算机里呢
计算机不能直接存储字符串,但我们可以将字符编码,例如用65表示大写字符A,66表示大写字符B....等这种表示方式就是美国类的ASCII码,只能表示127个字符,但对于美国人来说已经足够了。一但能用整数表示字符,我们可以很方便的把整数用二进制表示,那么字符串也就和容易存储到计算机了。
但还有很多其他国家的语言是不能用ASCII表示的,所有ISO组织就推出了unicode码,用来表示任何一种语言的字符,unicode码也称之为万国码,通用码,可以表示任何一种语言的任何一个字符。unicdoe码有多中表示方式,例如:utf-8、utf-16、utf-32等。一般使用较多的是utf-8,utf-8是一种变长的编码,表示一个字符可能用一个字节,也可能是三个字节
中文常用编码一般用GBK编码,用2个字节表示一个汉字
1.2 类型判断
我们可以使用type和isinstance来测试和判断数据类型
#type用法:type(obj)
功能:返回obj的数据类型
参数:obj是你要测试变量或数值
示例:
age = 10
name = hello
print(type(name),type(age))
#判断变量是否是指定类型
if type(age) is int:
print(是)
else:
print(否)
#isinstance用法:
isinstance(obj,typename)
功能:判断obj是否是指定类型,是返回True,否返回False
参数: objobj是你要判断的变量或数值
typename是指定数据类型,可以是int,float,str等。也可是一个
类型的元组,例如:(int,float)
示例:
age = 10
name = hello
print(isinstance(age,int))
print(isinstance(name,(str,int)) #只要name是str或int的一种就返回True
if isinstance(age,int):
print(是)
else:
print(否)
#type和isinstance的区别
type判断基本类型是没问题的,但无法判断子类对象是父类的一种
isinstance可以判断子类对象是父类的一种
class A:
pass
class B(A):
pass
objA = A()
objB = B()
#输出否
if type(objB) is A:
print(是)
else:
print(否)
print(isinstance(objB,A)) #True
结论:优先使用isinstance
2. 运算符和表达式
在数学上为了计算结果,我们会写一些式子计算,例如:
30 + 5
这是数学中的计算式,python中为了计算也有类似的式子,叫表达式。在表达式中30和5称作操作数,+称之运算符。表达式的目的在于计算结果。表达式构成:
- 最基本的表达式就是一些数值,变量、函数,例如: 3, a(变量) print(‘hello’)
- 由基本表达式加上适当的运算符构成复杂的表达式: 3 + a
综合上述,所谓表达式就是由操作数和运算符组成䄦符合python语法的式子。要写表达式首先要学习运算符。关于运算符要知道两件事情
- 计算顺序 : 是从左向右算还是从右向左算
- 优先级 : 比如先乘除后加减
2.1 算术运算符
a = 20b = 10
2.2 模运算说明
- 模运算的符号取决于第二个操作数(右操作数)
- 模运算的计算公式:r = a % b = a - n * b,其中n是小于a/b的最大整数
- 整除(//)运算如果有一个操作数是浮点数,结果是浮点数
- 用途:判断奇偶、判断是否能够整除、最大公约数、水仙花数
2.3 数学函数
2.4 随机函数
获取随机数,需要引入random库。
import random
注意:
- 优先级: ** >正负号 > // % * / > + -
- 从左向右算
- 在幂运算和一元运算符联合计算时,从右向左算,例如: -1 ** 2 = -1
2.5 赋值运算符
a = 5; b = 10; c = 20
注意:
- 赋值运算符左边必须是变量
- 从右向左算
- 没有赋值表达式
- 所有赋值运算符优先级相同,赋值运算符优先级非常低,仅高于成员运算符和身份运算符、逻辑运算符
- 注意在复合赋值中
a = 2b = 3
a *= b + 2 #等价于 a = a * (b + 2)
print(a) # a = 10
2.6 关系运算
关系运算就是比较运算,如果表达式成立,返回True,否则返回False。关系运算的结果是布尔值。
注意:
- 优先级: 比较运算符优先级相同
- 从左向右算
- 可以这样算:
1 < a < 3
等价于 a > 1 and a < 3
2.7 逻辑运算
逻辑运算符可以用于构造复杂条件。逻辑运算符包括:
- 逻辑与 and 对应汉语的意思是并且 、 同时
- 逻辑或 or 对应汉语意思为"或者"
- 逻辑非 not 对应汉语意思为相反
在逻辑运算中,False、None、0、0.0、‘’(空字符串)被看做假(False),其它的看做真(True)
2.7.1 逻辑与
- 表达式 a and b的值为: 如果a为真,结果为b的值,否则结果是a的值
2.7.2 逻辑或
- 表达式a or b的值为:如果a为真结果为a的值,否则结果是b的值
2.7.3 逻辑非
小结:a为真则表达式为False,否则表达式为True
2.8 短路计算
- 对于逻辑与表达式 a and b,如果a为假,则不计算b
- 对于逻辑或表达式 a or b ,如果a为真,则不计算b
2.9 注意事项
- 优先级 not > and >or
2.10 身份运算符
is: 判断两个标识符是否引用自同一个实体【对象】,比较的是两个对象的id是否一样,如果相同为真,否则为假
is not:判断两个标识符是不是引用自不同的实体【对象】如果两个对象的id不同结果为真,否则为假
id()函数获取实体的id(地址)
注意:is和==的区别
- is用于判断两个变量引用实体是否为同一个【id】
- ==用于判断两个变量的值是否相同,但id不一定相同
2.11 成员运算符
主要应用在序列中
in:如果在指定的序列中找到指定的值,则返回True,否则返回False
not in:如果在指定的序列中未找到指定的值,则返回True,否则返回False
2.12 if-else表达式
表达式1 if 条件 else 表达式2,如果条件为真假结果是表达式1的值,否则结果是表达式2的值
到此这篇关于python变量数据类型和运算符的文章就介绍到这了,更多相关python 运算符内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。