python字符串输入输出与注解

news/2025/3/23 16:50:26/

目录

数据输入

前言

数据输出

字符串

字符串的三种定义方法

引号嵌套

字符串的拼接

字符串格式化

+拼接字符串缺点

python常用的格式符号

格式化的精度控制

字符串快速格式化

快速格式化特点

对表达式进行格式化

具体案例

字符串的大小比较

字符串比较方式

变量的类型注解

主要功能

支持位置

为变量设置类型注解

普通设置方式

在注释中使用类型注解

函数的类型注解

形参的类型注解

返回值的类型注解

Union类型注解

数据输入

前言

  • 我们可以使用input()语句从键盘中获取输入
  • 我们可以使用一个变量接受input语句获取的键盘输入数据即可

语法:接受变量=input("提示语句") 

name=input("请告诉我你是谁:")
print("我的名字是:%s" % name)

注意:input语句中不管你写入的是什么数据,他都会把数据当作字符串处理。

数据输出

作用:输出变量内容到控制台

换行输出:print(数据1,数据2,数据3)

不换行输出:print(数据1,数据2,数据3,end="")

name="cjc"
age="24"
print("名字为",name,"年龄为",age)
print("---")
print("名字为",name,"年龄为",age,end="")
print("---")

注意:这种输出语句常和格式化字符串进行混用。

字符串

字符串:又称为文本,是由任意数量的字符,如中文、英文、各类符号、数字等组成。所以叫做字符串

字符串的三种定义方法

  • 单引号定义法:name='cjc'
  • 双引号定义法:name="cjc"
  • 三引号定义法:name="""cjc"""

注意:三引号定义法,和多行注释的写法一样,同样支持换行操作,使用变量接受他,他就是字符串;不使用变量接受他,他就作为多行注释使用。

name1='cjc'
print(type(name1))
name2="cjc"
print(type(name2))
name3="""
cjc"""
print(type(name3))

结果:执行结果都是字符串类型

引号嵌套

  • 单引号定义法,可以内含双引号
  • 双引号定义法,可以内含单引号
  • 可以使用转义字符(\)来将引号解除效用,变成普通字符串 

字符串的拼接

前言:若我们与两个字符串文本字面量,那么可以将其拼接成一个字符串,通过+即可完成

print("我是个"+"大帅哥")#我是个大帅哥

不过,单纯的两个字符串字面量拼接显得很呆,一般字面量和变量或变量和变量之间会使用拼接

name="cjc"
print("my name is "+name+" we could learn python each other")

注意:

  • 字符串是没有办法通过+和整数及其他类型进行拼接的
  • +拼接相对于逗号相连的多参数,逗号相连的每个参数拼接完都会有空格

字符串格式化

+拼接字符串缺点

  • 变量过多,拼接起来实在太麻烦了
  • 字符串无法和其他类型完成拼接

理解:先占个位置(占位符通常用%表示),等一会有个变量过来,我把它变成字符串放到展位的位置

class_num=57
avg_salary=16781
message="python是大数据学科,北京第%d期,毕业平均工资:%s" % (class_num,avg_salary)
print(message)

注意:

  • 可以有多个变量,用括号括起来,不同变量之间用逗号隔开,后面的参数和前面的占位符一一对应
  • %s表示将将后面的变量以字符串模式顶替前面的占位符
  • 数字也可以用%s占位,这里是将数字转换成字符串

python常用的格式符号

格式化的精度控制

前言:如下图19.99变成了19.990000

我们可以使用辅助符号“m.n”来控制数据的宽度和精度

  • m:控制宽度,要求数字(很少使用),设置宽度小于数字自身,那么这个设置不生效
  • .n:控制小数点精度,要求是数字,会进行小数的四舍五入

示例

  • %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用这三个空格补足宽度
  • %5.2f:表示将宽度控制为5,将小数点精度设置为2
  • %.2f:表示不限制宽度,只限制小数点精度为2

字符串快速格式化

语法:f"{变量1}{变量2}"

注意:f其实就是format的含义

name="传智播客"
set_up_year=2006
stock_price=19.9
print(f"我是{name},我成立于:{set_up_year}年,我今天的股价是:{stock_price}")

快速格式化特点

  • 不会理会类型
  • 不做精度控制(适合对精度没有要求的时候快速使用)

对表达式进行格式化

表达式:一条具有明确执行结果的代码语句

具体案例

字符串的大小比较

前言:在程序中,字符串所用的字符都有其对应的ASCII值,每一个字符都能对应上一个数字的码值,字符串的比较就是基于数字码值大小的比较

字符串比较方式

理解:字符串是按位比较,也就是一位一位的进行对比,只要有一位大,那么整体就大

变量的类型注解

含义:在代码中涉及数据交互的地方,提供数据类型的注解(显示的说明)

主要功能

  • 帮助第三方IDE工具(如pycharm)对代码进行类型推断,协助做代码提示
  • 帮助开发者自身对变量进行类型注释

支持位置

  • 变量的类型注解
  • 函数方法形参列表和返回值类型的注解

为变量设置类型注解

普通设置方式

语法1:变量:类型

在注释中使用类型注解

语法2:#type: 类型

注意:类型注解仅仅是提示性的,不是决定性的,不会影响到程序的运行

函数的类型注解

形参的类型注解

def 函数/方法名(形参名:类型,形参名:类型):函数体

返回值的类型注解

def 函数/方法名(形参名:类型,形参名:类型) -> 返回值类型:函数体
def add(x:int,y:int):return x+y
def func(data:list) ->list:return data

Union类型注解

注意:使用union类型可以定义联合注解,使用时需要导入模块Union

语法:Union[类型,……,类型]

from typing import Union
my_list:list[Union[int,str]]=[1,2,"hello"]
my_dict:dict[str:Union[str,int]]={"name":"lili","age":18}
def func(data:Union[int,str])->Union[int,str]:pass


http://www.ppmy.cn/news/1008867.html

相关文章

Java课设--学生信息管理系统(例1)

文章目录 前提一、运行效果二、Text实现类三、Manage选择类四、StudentWay学生方法类五、StudnetSql数据库类 前题 例1为无使用GUI图形界面,例2使用GUI图形界面! 首先自己的JDBC驱动已经接好了,连接自己的数据库没有问题。连接数据库可以看…

【李宏毅机器学习·学习笔记】Tips for Training: Adaptive Learning Rate

本节课主要介绍了Adaptive Learning Rate的基本思想和方法。通过使用Adaptive Learning Rate的策略,在训练深度神经网络时程序能实现在不同参数、不同iteration中,学习率不同。 本节课涉及到的算法或策略有:Adgrad、RMSProp、Adam、Learning …

桐乡嘉兴平面设计培训_PS一对一速成培训有吗

嘉兴平面设计培训_PS一对一速成培训有吗 0基础学广告海报页面培训 小班制学ps软件课程 嘉兴本地培训18年欢迎咨询 学校地址: 嘉兴市南湖区中山东路205号嘉华广场4楼416 海宁市西山路832号金贸大厦11楼1101号 桐乡市吾悦广场第吾大道(金街)1楼1058号 软…

JavaScript class 类

类是用于创建对象的模板。 我们使用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数。 constructor构造方法 构造方法在创建新对象时会自动执行,用于创建和初始化对…

MyBatis查询数据库(4)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 终于到了MyBatis最后一篇,这篇讲的是动态SQL的使用。 复杂情…

认识 spring AOP (面向切面编程) - springboot

前言 本篇介绍什么是spring AOP, AOP的优点,使用场景,spring AOP的组成,简单实现AOP 并 了解它的通知;如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录 前言1. 什么是s…

10 日志系统(下)

10 日志系统(下) 本文内容 日志系统分为两部分,其一是单例模式与阻塞队列的定义,其二是日志类的定义与使用。 本篇将介绍日志类的定义与使用,具体的涉及到基础API,流程图与日志类定义,功能实现…

VX-API-Gateway开源网关技术的使用记录

VX-API-Gateway开源网关技术的使用记录 官网地址 https://mirren.gitee.io/vx-api-gateway-doc/ VX-API-Gateway(以下称为VX-API)是基于Vert.x (java)开发的 API网关, 是一个分布式、全异步、高性能、可扩展、轻量级的可视化配置的API网关服务官网下载程序zip包 访问 https:/…