phtyon数据类型和变量 字符串和编码

数据类型

整数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。

浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等

字符串
字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,"xyz"等等。

如果字符串内部既包含’又包含" ,可以用转义字符\来标识,比如:
在这里插入图片描述
在这里插入图片描述

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\,

在这里插入图片描述

在这里插入图片描述
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r’‘表示’'内部的字符串默认不转义

在这里插入图片描述

在这里插入图片描述
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来

空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

变量
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

常量
所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

/
除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:

还有一种除法是//,称为地板除,两个整数的除法仍然是整数:
10 // 3
3

字符编码

在这里插入图片描述
在这里插入图片描述
1、对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

 ord('A')
65
 ord('中')
20013
 chr(66)
'B'
 chr(25991)
'文'

2、 Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节,在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes

Python对bytes类型的数据用带b前缀的单引号或双引号表示
x = b’ABC’
要注意区分’ABC’和b’ABC’,前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。

以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:

'ABC'.encode('ascii')
b'ABC'
 '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
 '中文'.encode('ascii')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:

 b'ABC'.decode('ascii')
'ABC'
 b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'

如果bytes中只有一小部分无效的字节,可以传入errors='ignore’忽略错误的字节:

 b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'

要计算str包含多少个字符,可以用len()函数:

 len('ABC')
3
 len('中文')
2

格式化

在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:

'Hello, %s' % 'world'
'Hello, world'
 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True

例子 :

 username = input('请输入用户名')
 yue = input('请输入月份')
 hua = input('请输入话费')
 yu = input('请输入余额')
 方法一:
 print('亲爱的%s你好!你%s月的话费是%.2f,余额是%.2f'%(username,yue,float(hua),float(yu)))
 方法二:
 print('亲爱的{0}你好!你{1}月的话费是{2:.1f},余额是{3:.2f}'.format(username,yue,float(hua),float(yu)))
 方法三:
 print('亲爱的'+username+'你好!你'+yue+'月的话费是'+hua+',余额是'+yu)
方法四
username = input("请输入用户名")
month = input("请输入月份")
hf = float(input("请输入话费"))
ye = float(input("请输入余额"))
print(f"亲爱的{username}您好,您的月{month}话费是{hf:.1f}元,余额是{ye:.1f}")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值