[Python学习笔记]数据类型&运算符

本文章将作为博主对Python学习从基础开始的笔记与整理,也将自己的某些针对Python的理解分享出来有便于跟博主一样的大学新手一起学习和理解Python。 

本文将简单介绍一下常遇到的数据类型,以及在Python中必不可少的运算符的使用。

数据类型(Data Type)

在编程中新手最常涉及的几种数据可以大致分为:数字类型(Number)字符串(String)布尔类型(Bool)。而在这之后还会涉及列表(List)元组(Tuple)集合(Set)字典(Dictionary)等类型,将会在之后的笔记中单独详细的介绍。

数字类型(Number)

Python3中支持int整型float浮点型complex复数,同时bool在Python3中也是int的子类(True==1、False==0)。

整型(Int)
什么是整型?

整型即表示值为一个整数:a = 1

进制及进制的转换 

值得一提的就是在计算机中我们常常会涉及到不同的进制,目前有二进制(计算机采用进制),八进制,十进制(人类使用进制),十六进制:

a=1#Decimal十进制
b=0b1010#Binary二进制(0b/0B 开头,后面跟 0/1)
c=0o16#Octal八进制(0o/0O 开头,后面跟0-7)
d=0x2A#Hexadecimal十六进制(0x/0X 开头,后面跟0-9,A-F)

注意最后的输出任然是十进制。

进制之间应该怎么转换?

1.其他进制转十进制 -> 使用int()函数

# 二转十
binary_num = '1010'
# int()中binary_num表示被转换的数,'2'表示被转换的进制类型
decimal_num = int(binary_num, 2)
print(decimal_num)  # 输出:10
# 八转十
octal_num = '16'
decimal_num = int(octal_num, 8)
print(decimal_num)  # 输出:14
# 十六转十
hexadecimal_num = '2A'
decimal_num = int(hexadecimal_num, 16)
print(decimal_num)  # 输出:42

在int()函数中,括号内的第一个元素为想要被转换成十进制的数,逗号后跟上该数此时的进制类型。 

2.十进制转其他进制 -> 使用bin(), oct(), hex()

decimal_num = 42
binary_num = bin(decimal_num)
octal_num = oct(decimal_num)
hexadecimal_num = hex(decimal_num)

bin()转化为二进制

oct()转化为八进制

hex()转化为十六进制

浮点型(Float)
什么是浮点型?

通俗的来说,浮点型就是指十进制中的小数:a = 9.92

科学计数法

在小学中学过科学计数法:13 = 1.3*10^1,但是在Python等计算机语言中我们并不能直接这么表示,于是在Python中采用Ex的方式来表示科学技术法,x是10的指数。

# 9.92*10(1)
float_num=9.92E1
print(float_num)
# 9.92*10(2)
float_num=9.92E-2
print(float_num)

 精度丢失问题

观察下列浮点数的加法,思考一下n3的值应该是什么?

n1=0.1
n2=0.2
n3=n1 + n2
print(n3)

常理来说答案很简单,n3=0.3,但在Python的计算中往往就是这么出让人意料:

很疑惑对吧,这就是涉及到计算机编程中的精度丢失问题了:在计算机中小数的计算是通过转化为二进制计算的,我们可以看到Python只会给我们保留小数点后17位,但有很多小数是无法准确转化为二进制的,因此此时计算机中的小数计算大多是以约等于的方式来计算结果的,此时就出现了精度丢失的问题,就像上面的0.1+0.2一样。

 复数(Complex)

复数在大部分的运用中比较少见,所以作为新手暂时简单了解一下就好。

复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

字符串( String)

字符串的表示

Python中的字符串用单引号 ' 或双引号 " 括起来。

a = 'Welcome'

b = "Welcome"

在使用上''和""没有区别,但要注意向镶嵌问题:

name_1='xiao'
name_2="xiao"
name_3="xi'ao'"

 索引

 字符串是有序的字符序列,因此在Python中我们可以通过索引来获得一个字符串中的一个或多个内容:

name_str='xiao'
name_char=name_str[0]
print(name_char)

注意,在计算机语言中,所有的第一位都是从0位开始的。

合理使用索引能在以后的编程中从字符串中提取所需的内容。

转义字符'\'

因为再Python中已经有一些\的搭配有了特殊的意义,当想重新输出原本的内容的时候,就需要重新在内容前方再加一个转义字符才能成功准确的输出。

常用转义字符:

转义字符说明
\\ (在行尾时)续行符
\r回车符,将光标位置移到本行开头。
\t水平制表符,也即 Tab 键,一般相当于四个空格。
\\反斜杠符号
\’单引号
\"双引号
\f换页
\n换行符

布尔类型(Bool)

什么是布尔类型?

布尔类型常用在对条件是否满足的判断,bool只有两个值Ture(1)和False(0)

bool_str1 = 2 > 1
bool_str2 = 2 < 1

Bool函数

bool()函数用于将给定参数转换为布尔类型,如果没有参数,返回 False:     bool(x)

x为我们想要转换的参数。

>>>bool()
False
>>> bool(0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> issubclass(bool, int)  # bool 是 int 子类
True

运算符(Operator)

四则运算(加减乘除)

1.赋值:a = 1,赋值可以同时给多个参数赋值: a = b = c = 1      d,  e = 1,  2

2.加法:a = 1 + 2

3.减法:a = 2 - 1

4.乘法:a = 1 * 2

a=b=c=1
d, e=1, 2
print(a,b,c,d,e,sep='/')
# 2.加
print(a+b)
# 3.减
print(a-b)
# 4.乘
print(a*e)
# 5.除
print(a/e)

同时在四则运算中还有一些额外的运算:幂运算,模运算,取余数等:

幂运算:使用符号' ** ',a**2表示a的二次方

模运算:又叫取商,使用符号' // ', 5//2表示取结果的整数部分2

取余数:使用符号' % ',5%2表示取结果的余数1

# 幂运算
print(e**3)
# 模运算 -> 取整 -> 商
print(e//3)
# 取余数
print(e%3)

关系运算

关系运算包含大于(>),小于(<),等于(==),大于等于(>=), 小于等于(<=),不等于(!=)。其中要注意,' = '是赋值,' == '才是等于。关系运算会对数据进行判断,最后输出Ture或False。

print(12 == 13)
print(12 != 13)
print(12 >= 13)
print(12 <= 13)
print(12 > 13)
print(12 < 13)

关系运算在字符串中也是可以使用的,但是不建议使用大于和小于,因为计算机会将字符串转义后再进行比较,一般使用等于和不等于。

逻辑运算

逻辑运算是在关系运算的基础上进行的运算:与(and), 或(or), 非(not) 

 与(and):只有所有命题为真才为真。

或(or):只要有一个命题为真就为真。

非(not):取反,真->假,假->真。

逻辑与短路问题

A and B 的短路问题:如果A为false,那么B根本就不会执行

4>3 and print(f'未短路{1}')
4<3 and print(f'短路{1}')

逻辑或短路问题

 A or B 的短路问题:如果A为ture,那么B根本不会执行

4>3 or print(f'未短路{1}')
4<3 or print(f'短路{1}')

tips:0和空字符串在做逻辑运算时会被转化为布尔函数false,可以用bool()来判断一个数是真假。

增强运算

 在编程中,为了简化操作,将四则运算进行了相应的简化,能使得你的程序更加美观和编写的简单。

a += 1 -> a = a + 1

a -= 1 -> a = a - 1

a *= 2 -> a = a * 2

a **= 2 -> a = a**2

a /= 2 -> a = a / 2

a //= 2 -> a = a // 2

a %= 2 -> a = a % 2

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦海挣扎的大学牲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值