【黑马python】基础 2.Python 字符串
笔记汇总目录
字符串部分

字符串的三种定义方式
-
![image]()
-
代码示例
# 字符串定义 name = "python程序员" print(type(name)) # <class 'str'> name = 'python写代码' print(type(name)) # <class 'str'> name3 = """ 这是字符串吗? 真的吗? """ print(type(name3)) # <class 'str'> -
字符串的引号嵌套
- 单引号定义法:可以内含双引号
- 双引号定义法:可以内含单引号
- 使用转义字符
\:将引号解除效用,变为普通字符
-
代码示例
# 字符串定义的引号嵌套 name = '"这是一个字符串1"' print(name) # "这是一个字符串1" name = "'这是一个字符串2'" print(name) # '这是一个字符串2' name = "\"这是字符串3" print(name) # "这是字符串3
字符串拼接
-
加号 + :拼接字符串
- 两个字面量直接拼接
- 字面量和变量拼接
-
注意
- 加号不能拼接字符串和其他类型的变量:如int,float等
- 解决:先类型转换为str,然后拼接:
str(tel) - 注意:其他语言有的可以直接拼接,如Java,注意使用条件
-
代码示例
# 字符串拼接:+ print("字符串1"+"字符串2") # 字符串1字符串2 name = "python程序员" address = "南北高架" print("我是:" + name + ", 地址是:" + address) # 我是:python程序员, 地址是:南北高架 -
![image]()
字符串格式化
-
通过
%s占位符,进行快速拼接 -
注意格式:
"%占位符" % (变量1, 变量2, ..., 变量n)- 多个变量占位:逗号分隔,小括号,有序


-
代码示例
# 占位拼接字符串 name = "python程序员" message = "学IT,来:%s" % name print(message) # 学IT,来:python程序员 # 占位拼接数字和字符串 class_num = 57 avg_salary = 12345 message = "python大数据,北京%s期,毕业平均工资:%s" % (class_num, avg_salary) print(message) # python大数据,北京57期,毕业平均工资:12345 message = "我是练习时长%s的个人练习生%s,喜欢%s, %s, %s, %s, music" % ("两年半", "kunkun", "唱", "跳", "rap", "篮球") print(message) # 我是练习时长两年半的个人练习生kunkun,喜欢唱, 跳, rap, 篮球, music -
常用的3种数据类型占位
- 让数字类型以原本类型拼接到字符串
![image]()
- 让数字类型以原本类型拼接到字符串
-
代码示例
# 不同类型的占位符,拼接到字符串 name = "传智播客" setup_year = 2006 stock_price = 16.66 message = "%s, 成立于:%d, 今天的股价是:%f" % (name, setup_year, stock_price) print(message) # 传智播客, 成立于:2006, 今天的股价是:16.660000
格式化的精度控制

-
代码示例
# 占位符的精度控制 num1 = 11 num2 = 11.345 print("数字11宽度5,结果是:%5d" % num1) # 数字11宽度5,结果是: 11 print("数字11宽度1,结果是:%1d" % num1) # 数字11宽度1,结果是:11 print("数字11.345宽度7,小数精度2,结果是:%7.2f" % num2) # 数字11.345宽度7,小数精度2,结果是: 11.35 print("数字11.345宽度不限制,小数精度2,结果是:%.2f" % num2) # 数字11.345宽度不限制,小数精度2,结果是:11.35

字符串格式化方式2
-
格式:f"内容{变量}"
- f:format
-
不关心类型和精度,原样输出
- 适合对精度没有要求的快速使用
![image]()
- 适合对精度没有要求的快速使用
-
代码示例
# 格式化的另一种方法:f{占位} name = "传智播客" setup_year = 2006 stock_price = 16.66 print(f"我是{name}, 我成立于{setup_year}年,股价是{stock_price}") # 我是传智播客, 我成立于2006年,股价是16.66
对表达式进行格式化
-
表达式:具有明确执行结果的代码语句
- eg:1+1, 5-2, name = "张三", age = 11+12
-
表达式的格式化
- f"{表达式}"
- "%s%d%f" % (表达式1, 表达式2, 表达式3)
![image]()
![image]()
-
代码示例
# 对表达式进行格式化 print("1 * 1 的结果是:%d" % (1 * 1)) # 1 * 1 的结果是:1 print(f"1 * 2 的结果是:{1 * 2}") # 1 * 2 的结果是:2 print("字符串在python中的类型名是:%s" % type("字符串")) # 字符串在python中的类型名是:<class 'str'>
字符串格式化练习

-
代码示例
# 字符串格式化练习题 name = "传智播客" stock_price = 19.99 stock_code = "003032" # 数字类型以0开头会有问题,这里写为字符串类型 stock_price_daily_growth_factor = 1.2 growth_day = 7 print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}") print("每日增长系数是:%.1f,经过%d天的增长后,股价达到了:%.2f" % (stock_price_daily_growth_factor, growth_day, (stock_price * (stock_price_daily_growth_factor ** growth_day)))) # 公司:传智播客,股票代码:003032,当前股价:19.99 # 每日增长系数是:1.2,经过7天的增长后,股价达到了:71.63
数据输入 input() 语句
-
input(提示语句) 语句:获取键盘输入
- 可以用一个变量接收input() 语句的返回值
- 提示语句:可以直接写在input() 的小括号里,在输入内容之前显示提示信息
-
input() 返回值:字符串类型
- 如有需要,可以强制类型转换为数字类型:
num = int(input())
![image]()
- 如有需要,可以强制类型转换为数字类型:
-
代码示例
# input语句 name = input("请告诉我你是谁:") print("你的名字是:%s" % name) # 你的名字是:钢铁侠 num = input("输入密码:") print("密码类型为:", type(num)) # 密码类型为: <class 'str'> num = int(num) print("转换后的密码类型为:", type(num)) # 转换后的密码类型为: <class 'int'>
欢迎登录小程序练习

-
代码示例
# 欢迎登录小程序 user_name = input("请输入用户名称") user_type = input("请输入用户类型") print(f"您好:{user_name},您是尊贵的:{user_type} 用户,欢迎您的光临") # 您好:钢铁侠,您是尊贵的:SSSSSSVIP 用户,欢迎您的光临









浙公网安备 33010602011771号