前章,前面一章写了python的简单使用,今天的文章里充满了干货,讲到了python的数据类型,字符串,等等?
努力吧兄弟们
- 数据类型:数字
基本的数字类型有:
- int:有符号整数
- bool:布尔值
- float:浮点数
?
?>>> type(5) # 查看变量常量的类型,5为int 整数类型
<class 'int'>
>>> type(5.0) # 查看变量常量的类型,5.0为float 浮点数类型
<class 'float'>
>>> True + 3 # True 代表的值为1,结果为4;True 第一个字母必须是大写
4
>>> False * 3 # False 代表的值为0,0乘任何数均为0;False 第一个字母必须是大写
0
整数数字表示方式
Python?默认以十进制数?显示
- 数字以?0o 或 0O?开头表示为?8 进制数
- 数字以?0x 或 0X?开头表示?16 进制数
- 数字以?0b 或 0B?开头表示?2 进制数
# python 默认以十进制数显示,十进制数范围:0 ~ 9
>>> 23
23
# 以0o或0O开头表示8进制,0o23即将8进制数23,以十进制方法进行显示
# 8进制数23转为十进制方法: 2*8的1次方 + 3*8零次方 = 2*8 + 3*1 = 19
# 8进制数范围:0 ~ 7
>>> 0o23
19
# 以0x或0X开头表示16进制,0x23即将十六进制数23,以十进制方法进行显示
# 十六进制数23转为十进制方法: 2*16的1次方 + 2*16零次方 = 2*16 + 3*1 = 35
# 16进制数范围:0 ~ 9,a ~ f
>>> 0x23
35
# 以0b或0B开头表示二进制,0b10即将二进制数10,以十进制方法进行显示
# 十进制数10转为二进制方法: 1*2的1次方 + 0*2零次方 = 1*2 + 0*1 = 2
# 二进制数范围:0,1
>>> 0b10
3
>>> oct(100) # 函数oct(), 可以将十进制数100,转换为8进制数
'0o144'
>>> hex(100) # 函数hex(), 可以将十进制数100,转换为16进制数
'0x64'
>>> bin(100) # 函数bin(), 可以将十进制数100,转换为二进制数
'0b1100100'
字符串:
- Python 中字符串被定义为引号之间的字符集合
- Python 支持使用成对的单引号或双引号
- 无论单引号,还是双引号,表示的意义相同
- Python 还支持三引号(三个连续的单引号或者双引号),可以用来包含特殊字符
- Python 不区分字符和字符串
演示
# 三引号的使用,保存用户输入的格式,可以是三个单引号,也可以是三个双引号
>>> users="""tom
... bob
... alice
... """
>>> users # 输出内容,print把\n转换成回车
'\nbob\nalice\n'
>>> name = 'zhangsan\nlisi\nwangwu' # 直接写\n也是可以的
>>> print(users) # 打印变量users,验证结果
>>> print(name) # 打印变量name,验证结果
# 两种符号共用
>>> sentance = "hello nfx, I'm your baby~"
>>> print(sentance)
hello nfx, I'm your baby~
字符串切片:
- 使用索引运算符 [ ] 和 切片运算符 [ : ] 可得到子字符串
- 第一个字符的索引是0,最后一个字符的索引是 -1
- 子字符串包含切片中的起始下标,但不包含结束下标
演示
>>> py_str = 'python' # 定义变量py_str, 值为python
>>> len(py_str) # 使用函数len(),统计变量py_str的字符长度
6
>>> py_str[0] # 默认字符的下标从0开始,取出变量py_str中的第一个字符p
'p'
>>> py_str[5] # 取出变量py_str中的第六个字符n
'n'
>>> py_str[-1] # 取出变量py_str的倒数第一个字符n
'n'
>>> py_str[-6] # 取出变量py_str的倒数第六个字符n
'p'
# 取出变量py_str中,下标为2到下标为3之间的字符,下标为3的字符【h】不包含在内
>>> py_str[2:3]
't'
# 取出变量py_str中,下标为2到下标为4之间的字符,下标为4的字符【o】不包含在内
>>> py_str[2:4]
'th'
# 取出变量py_str中,下标为2到下标为5之间的字符,下标为5的字符【n】不包含在内
>>> py_str[2:5]
'tho'
# 取出变量py_str中,下标为2到下标为6之间的字符,下标为6的字符【n】不包含在内
>>> py_str[2:6]
'thon'
>>> py_str[2:6000] # 取出变量py_str中,下标为2字符之后的所有数据
'thon'
>>> py_str[2:] # 取出变量py_str中,下标为2字符之后的所有数据
'thon'
# 取出变量py_str中,下标为0到下标为2之间的字符,下标为2的字符【t】不包含在内
>>> py_str[0:2]
'py'
>>> py_str[:] # 取出变量py_str中的所有字符,没指定下标,则代表所有字符
'python'
# 设置步长为2,即第一次取值后,每次下标加2,然后取值,p下标为0; t下标为0+2=2; o下标为0+2+2=4
>>> py_str[::2]
'pto'
# 设置步长为2,即第一次取值后,每次下标加2,然后取值,y下标为1; h下标为1+2=3; n下标为1+2+2=5
>>> py_str[1::2]
'yhn'
>>> py_str[::-1] # 设置步长为-1,即从后往前取值,没有设置结束位置,则取出变量中所有的值
'nohtyp'
字符串连接操作:
- 使用 + 号可以将多个字符串拼接在一起
- 使用 * 号可以将一个字符串重复多次
>>> py_str + ' is good' # 将变量py_str中的值,和字符串'is good'进行拼接
'python is good'
# 字符串拼接时,注意要拼接的双方必须是都是字符串类型,否则报错
>>> py_str + 10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be str, not int
# 重复操作:使用 * 号可以将一个字符串重复多次,只能应用于字符串,数字则为乘法运算
>>> '*' * 30 # 将字符串'*'重复打印30次,使用 * 号来完成
>>> '*' * 50 # 将字符串'*'重复打印30次,使用 * 号来完成
>>> py_str * 5 # 将变量py_str中的值,重复打印5次,使用 * 号来完成
# 字符串判断:in,not in判断字符是否处于变量的范围之内
>>> 't' in py_str # 判断字符't',是否在变量py_str范围内,True 为真
True
>>> 'th' in py_str # 判断字符串'th',是否在变量py_str范围内,True 为真
True
# 判断字符串'to',是否在变量py_str范围内,False 为假,这里'to'指的是一个连续的字符,不能分开看
>>> 'to' in py_str
Falsed
>>> 'to' not in py_str # 判断字符串'to',是否不在变量py_str范围内,True 为真
True
练习 3:汇率转换
需求:
- 用户输入美元,编写程序,将美元转换成人民币
- 汇率换算:美元 -> 人民币
# 1 获取数据(多少美元)
dollar = input('请输入美元数:')
# 将输入的数据转换为float类型(input函数的而返回值为str类型)
dollar = float(dollar)
# 2 逻辑计算(美元换算为人民币)
rmb = dollar * 6.4435
# 3 输出结果(多少美元换算为多少人民币)
print(str(dollar) + '美元可以换算人民币' + str(rmb) + '元') # 字符串的拼接
附上美丽壁纸一章
|