一、数字类型
1.1 int整型
- 作用:用来记录人的年龄,出生月份,学生人数等整数相关的状态。
- 定义: 数值为正或者符,不带小数点。
- 通常用十进制表示数字,但是有时候还用八进制或者 16进制表示,16进制用 0x 前缀和0-9。八进制用0o 前缀和0-7表示,例如0o45。
age=18
birthday=1989
student_count=40
- 小整数对象池
Python 初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生产,这是一个包含 262 个指向整数对象的指针数组,范围是 -5 到256。比如整数10 ,即使我们在程序里面没有创建它,其实在 Python 后台已经悄悄为我们创建了。- 作用:这些小型整数经常用到,如果使用一个创建一个则会大大降低运行速度,所以python 就会创建小整数对象池,当需要用到小整数时,直接拿出来使用即可。
print(id(-4))
140732563260928
print(id(-5))
140732563260896
print(id(-6))
2775532657744
很显然,-4 和 -5 内存地址之间相处32 ,而-5 与-6 内存地址相差比较大,那是因为,-5到256 是在一个小整数池里面,而-6 是单独取去创建的,所分配的内存地址根据实际环境来定,所以分配的地址相差很多。
- del : 释放内存,del a 即释放a 指向对象的内存
a = 1000
print(id(a))
del a
b = 1000
print(id(b))
## 发现a 指向的值的内存地址释放后,再次赋值内存地址还是一样的,这是为啥?
## 这是 python 缓存机制
1.2 float浮点型
- 作用: 记录人的身高,体重,薪资等小数相关的状态。
- 定义:
height=172.5
weight=130.5
salary=15000.00
二、字符串类型 str
2.1 字符串
字符串是由数字,字母,下划线组成的一串字符
-
注意:
- 单引号或双引号不能混合使用
- Python 中用一对双引号或一对单引号标记起来的内容就是字符串。
-
单引号、双引号、多引号
- 单引号,双引号,多引号本质上没有区别;
- 需要考虑引号嵌套的问题:
msg = "My name is Jack , I'm 18 years old!"
内层有单引号,外层就必须用双引号。 - 多引号: 可以写多行字符串,保存文档格式的使用。
2.2 转义字符
- \t : 制表符
- \n : 换行
- ' : 仅仅表示 ' (单引号)
- '' : 仅仅表示'' (双引号)
2.3 格式化字符串
- 第一种格式化字符串: 拼串
拼串: 字符串可以进行 加法和乘法操作。比如 :
str1 = 'hello' , str2 = 'world'
s = str1 + str2
print(s)
helloworld
- 第二种格式化化字符串:参数传递
s = 'hello', s2 = 'python'
print('s=',s)
hello
-
第三种格式化格式化字符串: 占位符
就是通过占据字符串里面的一个位置,然后共给别人使用。- -%s 字符串占位
- -%f 浮点数,小数占位
- -%d 整数占位
第四种格式化字符串:'f'
-f'{变量}'
通过{}来占位,到但是必须传递参数。第五种格式化字符串 : format 方式占位
format 方式占位,同样通过{}来占位,不需要传递参数。
案例:
>>> print('这是数据库%s的IP地址' % 'db1')
这是数据库db1的IP地址
>>> print('这是第%d台主机的IP地址' % 1)
这是第1台主机的IP地址
>>> print('学生A 体重%f' % 75.0)
学生A 的体重75.500000
>>> app = '淘宝'
>>> m = f'这是应用{app}的 URL'
>>>print(m)
这是应用淘宝的URL
>>>g = '这是我最喜欢的{}'.format('颜色')
>>>print(g)
这是我最喜欢的颜色
2.4 字符串的其他操作
常规操作
len() 字符串长度
max() 最大值
min() 最小值
str.split('分割符号') 字符串分割
str.join('分割的符号') 字符串拼接
str.find(查找的字符) 查找字符串
replace() 替换字符串
partiton() 把字符串分割为三部分去除空格
s.strip 去除左右2边空格
s.lstrip() 去除左边空格
s.rstrip() 去除右边空格字符串大小写
s.upper() 全部大写
s.lower() 全部小写
s.isupper() 判断是不是大写
s.islower() 判断是不是小写
作业
- a,b = 6,8 让a=8,b=6 该怎么实现 ?
方法一:
a,b = 6,8
a,b = b,a
print(a,b)
8 6
方法二:
a=6
b=8
c=a
a=b
b=c
print(a,b)
- 完成字符串的逆序以及统计
- 设计一个程序,要求只能输入长度低于31 的字符串,否则提示用户重新输入
- 打印字符串的长度
- 使用切片逆序打印出字符串
while True:
card_passwd = input('请输入密码(小于31个字符): ')
if len(card_passwd) > 31:
print('密码错误,请重新输入!')
else:
print(len(card_passwd))
print(card_passwd[::-1])
请输入密码(小于31个字符): asdfadf
7
fdafdsa
请输入密码(小于31个字符): 0asdfadfacaadflakdfaldf0asdfadsf
密码错误,请重新输入!
请输入密码(小于31个字符):