Python003-第二章02.常见数据类型
常见数据类型
变量本身是没有类型的,type(变量)输出的类型是变量中存储的数据的类型。
print(type(10)) # int print(type(3.14)) # float print(type(True)) # bool print(type(False)) # bool print(type(None)) # NoneTypenum = -100 print(type(num)) # int # 判定数据是否是指定的类型 print(isinstance(num, int)) # True print(isinstance(num, float)) # False print(isinstance(num, bool)) # False常见的数据类型有哪些:int, float, str, bool, NoneType
字面量类型:int, float, str, bool, NoneType
instance:实物、具体例子、实实在在的东西。isinstance 直译:是不是这个品类里的实物。isinstance(数据, 类型) = 查一查:这个实物,属于你说的这个大类吗?
判断是不是整数 → isinstance(变量,int)
判断是不是小数 → isinstance(变量,float)
判断是不是文字 → isinstance(变量,str)
字符串
a1 = "Hello" a2 = 'Python' # 三引号定义(多行字符串,可换行)(用 ''' ''' 或 """ """) a3 = """ 尊敬的客户: 感谢您选择我们公司的产品, 我们将会为您竭诚地服务。 祝好 ~ """ # 字符是组成字符串的基本单位。 print(a1) print(a2) print(a3) print(type(a1)) print(type(a2)) print(type(a3))转义字符
# 转义字符 \' \" \n \t msg = 'It\'s very good.' print(msg) msg2 = "It's very good." print(msg2) msg3 = "Hello的意思就是\"您好\"" print(msg3) msg4 = 'Hello的意思就是"您好"' print(msg4) """ 运行结果: It's very good. It's very good. Hello的意思就是"您好" Hello的意思就是"您好" """ print("\t欢迎大家!\n\t大家记得一键三连哦~")字符串拼接
注意:+号可以用来拼接两个字符串,但是无法将非字符串与字符串进行拼接(非字符串类型需要转换为字符串类型)。
s1 = "人生苦短" "我用Python" ", ok" print(s1) msg1 = "人生苦短" msg2 = "我用Python" print("龟叔说:" + msg1 + "," + msg2) """ 运行结果: 人生苦短我用Python, ok 龟叔说:人生苦短,我用Python """案例:—str(int数字)—将int类型的数字转为字符串
name = "涛哥" age = 20 pro = "软件工程师" hobby = "Python, Java" print("大家好,我是" + name + ",今年" + str(age) + "岁,学习的专业是" + pro + ",爱好" + hobby) """ 运行结果: 大家好,我是涛哥,今年20岁,学习的专业是软件工程师,爱好Python, Java """字符串格式化
通过 %占位符 的形式完成字符串和变量的快速拼接。(其中 % 表示我要占位, s 表示将变量转为字符串放入占位的位置)
s1 = "涛哥" print("大家好,我是%s,欢迎大家进入Python课程的学习"%s1) s1 = "人生苦短" s2 = "我用Python" age = 20 print("吉多·范罗苏姆:%s,%s"%(s1, s2)) print("我今年%s岁。"%age) """ 运行结果: 大家好,我是涛哥,欢迎大家进入Python课程的学习 吉多·范罗苏姆:人生苦短,我用Python 我今年20岁。 """注意:前面有多少个占位符(%s),后面就要有多少个变量(或数据),前后数量需要一致。
字符串格式化–> 方式一:%s 占位符
print("大家好,我是%s,今年%s岁,学习的专业是%s,爱好%s"%(name, age, pro, hobby))代码踩坑笔记:
- Python代码平常普通语句:一律顶格写,前面不加空格(原因:Python 靠空格缩进区分层级,平白无故加空格,电脑认不明白。Reason: Python differentiates code levels through whitespace indentation. Adding unnecessary whitespace will cause interpretation errors by the interpreter.)
- if/for/while 带冒号的:冒号下一行必须空 4 格。
- 空格多了少了,都会直接报错
字符串格式化–>方式二:
也可以通过 f"内容{变量/表达式}" 的形式来完成快速格式化。这是目前项目实操推荐的方式。
name = "涛哥" print(f"大家好,我是{name},欢迎大家进入Python课程的学习") s1 = "人生苦短" s2 = "我用Python" print(f"吉多·范罗苏姆:{s1},{s2}") """ 运行结果: 大家好,我是涛哥,欢迎大家进入Python课程的学习 吉多·范罗苏姆:人生苦短,我用Python """拓宽-占位符
基础规则
% = 占个空位置,等着填内容
%s = 万能占位符,啥类型数据都能转成文字填进去
常用全套占位符(日常够用就这几个)
%s 字符串占位 万能,数字、文字、真假值全都能用
%d 整数占位 只填整数(比如年龄、个数)
%f 小数占位 填小数(身高、体重、价格)
%% 输出一个 % 符号 单纯打印百分号
布尔值只有两种:True(真) False(假),占位直接用 %s 就行,最省事
is_adult = True age = 50 # 用%s拼接布尔值+数字,万能通用 info = "是否成年:%s,年龄:%d" %(is_adult, age) print(info) ''' 运行结果: 是否成年:True,年龄:50 '''分开演示各类数据占位写法
# 1.整数用%d # 定义身高整数 high = 165 # %d 放整数 print("身高整数数值:" + str(high)) print("身高整数数值:%d" % high) print("身高整数数值:%d" %high) print("身高整数数值:%s" %high) print(f"身高整数数值:{high}") # 2.小数用%f # 定义体重小数 weight = 55.5 # %.2f 保留2位小数,日常最常用 print("我的体重:%.2f 千克" % weight) # 我的体重:55.50 千克 # 3.文字字符串用 % s name = "李阿姨" print("姓名:%s" % name) # 4. 混合拼接(文字 + 小数 + 布尔) name = "张姐" height = 1.58 is_healthy = True # 混搭写法:%s文字 %.2f小数 %s布尔 text = "姓名:%s,身高:%.2f米,身体状态良好:%s" % (name, height, is_healthy) print(text)最简单总结(好记不费脑)
1.不知道用啥,一律用 % s,字符串、数字、真假布尔全能装
2.只想填整数 → 用 %d
3.只想填小数 → 用 %.2f(保留两位最好看)
4.布尔值True/False → 直接套 %s
msg1 = "人生苦短" msg2 = "我用PYTHON" year = 20 print("龟叔说:" + msg1 + ","+ msg2 +str(year) + "年") print("龟叔说:%s,%%s%s%.2f年"% (msg1, msg2, year)) print(f"龟叔说:{msg1},{msg2}" + "%.2f年"%(year)) ''' 龟叔说:人生苦短,我用PYTHON20年 龟叔说:人生苦短,%s我用PYTHON20.00年 龟叔说:人生苦短,我用PYTHON20.00年 '''