【黑马python】基础 2.Python 字符串

笔记汇总目录

字符串部分

image

字符串的三种定义方式

  • 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)

    • 多个变量占位:逗号分隔,小括号,有序

image
image

  • 代码示例

    # 占位拼接字符串
    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
    

格式化的精度控制

image

  • 代码示例

    # 占位符的精度控制
    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
    

image

字符串格式化方式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'>
    

字符串格式化练习

image

  • 代码示例

    # 字符串格式化练习题
    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'>
    

欢迎登录小程序练习

image

  • 代码示例

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

参考链接

END

posted @ 2025-10-10 22:16  anliux  阅读(30)  评论(0)    收藏  举报