Python基础学习(二)--数据类型,进制转换,引用,运算

一、混合数字类型自动升级

a=True+3
print(a)           #4
b=False*3
print(b)           #0

在 python中False对应数字 0,True 对应非0的数字(默认为1)。

二、数字类型强制转换

x=2
y=3.4
z=x+y
print(z,type(z))          #5.4 <class 'float'>
z=int(z)
print(z,type(z))          #5 <class 'int'>
z=float(z)
print(z,type(z))          #5.0 <class 'float'>

#凡是用input输入的数据,皆为字符串
x=input("请输入:") 
print(x,type(x))          #3 <class 'str'>

注意:

#这段代码输入的为整型,运行成功;输入的为浮点型,则提示出错
price=input('请输入西红柿单价:')
a=int(price)
print(a,type(a))

#解决
price=input('请输入西红柿单价:')
a=float(price)
b=int(a)
print(b,type(b))

x=int(float(input('请输入人数:')))
print(x,type(x))

三、进制转换

1.十进制->其他进制
#注意:使用函数进制转换后,结果皆为字符串类型
a=120
b=hex(a)           #十六进制
print(b,type(b))

a=hex(0o42)        #八进制->十六进制
print(a,type(a))

a=119
b=oct(a)           #八进制
print(b,type(b))

a=12
b=bin(a)           #二进制
print(b,type(b))
2.其他进制->十进制
a=int('11',8)
print(a)            #9

b=int('11',16)
print(b)            #17

c=int('11',2)
print(c)            #3

四、引用

1.改变引用
a=15
print(type(a))          #<class 'int'>
a='tom'
print(type(a))          #<class 'str'>

在这里插入图片描述

2.共享引用

多个变量可以指向同一块内存,我们称之为共享引用。

a=10
b=a
print(a==b)          #True
print(a is b)        #True

# a改变了指向不影响b的指向
a=10
b=a
a=5
print(b)             #10

在这里插入图片描述 在这里插入图片描述

五、变量间运算

1.加法和乘法(数字、字符串)
a=3
b=4
c=a+b
print(c)          #7
print(a*b)        #12

#字符串拼接
a='3'
b='4'
c=a+b
print(c)          #34

#重复
a='abc'
b=a*3
print(b)          #abcabcabc
2.‘//’–向下取整,丢弃小数部分

两个运算数有小数,结果就是小数。

a=-9.5
b=3
c=a//b
print(c)             #-4.0

a=10
b=3
c=a//b
print(c)             #3
3.‘**’幂
a=5
print(5**2)          #25
print(5**3)          #125
4.‘%’取余
b=5%3
print(b)             #2
应用
#数字倒置
a = int(input('请输入一个三位数:'))
x = a % 10
y = a // 10 % 10
z = a // 100
b = x * 100 + y * 10 + z
print(b)
#循环版
x = int(input("请输入一个整数:"))
y = 0
while x != 0:
    y = y * 10 + x % 10
    x = x // 10
print(y)

#输出50以内所有的偶数
a=1
while a<50:
    if a%2==0:
        print(a)
    a+=1

#砍价--砍掉小数和个位数
#1
price=float(input("请输入西红柿单价:"))
num=float(input('请输入斤数:'))
m=int(price*num)//10*10      #int()--去掉小数   //10*10--去掉个位
print(m)
#2
price=float(input("请输入西红柿单价:"))
num=float(input('请输入斤数:'))
money=int(price*num)
money=money-money%10
print(money)
5.复合赋值运算符( 自增运算)
a=4
a+=5
print(a)    #9
a-=5
print(a)    #4
a*=2
print(a)    #8
a/=2
print(a)    #4.0
a%=5
print(a)    #4.0
a//=2
print(a)    #2.0
a**=3
print(a)    #8.0

六、ASCII转换函数

1.chr()函数–将一个整数转换为一个字符
a=65
print(chr(a))        #A
2.ord()函数–参数为字符,返回值为它对应的ASKII码值
#输入一个大写字母,判断这个大写字母是字母表中第几个字母
a=input('请输入一个大写字母:')
print(ord(a)-65+1)

七、str()函数

a=4
b=str(a)
print(b,type(b))          #4 <class 'str'>

a=4.5
b=str(a)
print(b,type(b))          #4.5 <class 'str'>

八、eval()函数

参数为字符串,用来计算在字符串中的有效 python 表达式,并返回一个对象。

a='1+2'
print(a)             #1+2
b=eval(a)
print(b)             #3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值