python字符串输入输出与注解

目录

数据输入

前言

数据输出

字符串

字符串的三种定义方法

引号嵌套

字符串的拼接

字符串格式化

+拼接字符串缺点

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.rhkb.cn/news/77243.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构和算法】排序算法

说明:以下排序如无特别说明,都是从小到大升序排序 1. 冒泡排序 核心思想:每个元素与其相邻元素比较,如果前者大于后者则交换,每次循环结束后会将最大值放到最后,像小水泡从底下冒到上面成大水泡一样&…

day52-Redis

Redis 1.Redis 1.1 RESP连接Redis 1.2 定义:是一个高性能的key-value数据库(非关系型数据库) 1.3 数据类型: key键的类型是字符串类型; 值的类型有五种:字符串String,哈希hash&#xff0…

Ubuntu安装JDK与IntelliJ IDEA

目录 前言 Ubuntu 安装 JDK 1、更新软件包列表 2、安装OpenJDK 3、验证安装 Ubuntu安装IntelliJ IDEA 1、下载 IntelliJ IDEA 2、解压缩 IntelliJ IDEA 安装包 3、移动 IntelliJ IDEA 到安装目录 4、启动 IntelliJ IDEA 前言 APT(Advanced Package Tool&…

使用手机相机检测电脑屏幕刷新率Hz

使用手机相机检测电脑屏幕刷新率Hz 1、电脑打开https://www.testufo.com/frameskipping 2、相机专业模式:快门1/10、ISO自动,拍摄一张照片。120Hz至少要有12个亮块,50Hz至少有6个亮块。 更改刷新速率 1、选择 “开始>设置>系统>显示…

Linux操作系统~Linux基础知识相关题

整卷阅览: 想要获取试卷原版请点击以下链接下载: https://download.csdn.net/download/qq_53142796/88168132https://download.csdn.net/download/qq_53142796/88168132 解题过程: 选择题(每小题2分,共30分&#xff…

心跳跟随的心形灯(STM32(HAL)+WS2812+MAX30102)

文章目录 前言介绍系统框架原项目地址本项目开发开源地址硬件PCB软件功能 详细内容硬件外壳制作WS2812级联及控制MAX30102血氧传感器0.96OLEDFreeRTOS 效果视频总结 前言 在好几年前,我好像就看到了焊武帝 jiripraus在纪念结婚五周年时,制作的一个心跳跟…

Xcode protobuf2.5添加arm64编译器补丁生成静态库

项目需求,protobuf源码编成静态库使用 但是,github上的protobuf源码没有对应arm64的编译器定义,编译出来的静态库使用时报错。 下面的连接是arm64编译器代码补丁包,把编译器代码放到src/google/protobuf/stubs/atomicops_intern…

第一课-前提-Stable Diffusion 教程

学习 SD 的前提是电脑配置! SD 参考配置: 建议选择台式机 i5 CPU, 内存16GB,N卡 RTX3060, 8G显存以上的配置(最低配) 在此基础上的配置越高越好。 比如,cpu i7 更好,显卡能有 RTX4090 更好,32显存要能有最好,嘿嘿嘿。 如何查看自己的显卡配置? Win+R 输入 “dxdiag…

变压器参数测定中空载实验和短路实验的理解

确定变压器的参数是在《电机学》和《电力系统分析》中非常重要的一个环节,这里用自己习惯的方式讲一下怎样理解 首先要讲下变压器的额定参数,这个也是个常考的知识点 额定功率,即视在功率,电压电流,单位是VA或者kVA额…

kubernetes基于helm部署gitlab-runner

kubernetes基于helm部署gitlab-runner 这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab-runner。 先决条件: 已运行的 Kubernetes 集群已运行的 gitlab 实例 项目地址:https://gitlab.com/gitlab-org/charts/gitlab-runner 官方文档&#xff…

三层交换实验

前言 在实际的企业应用中,我们会先建立不同的vlan把用户先隔开来。然后再通过三次交换机技术打通vlan直接的网络。 这样的目的如下: 隔离: 隔离是广播域,也就是隔离的是故障连通: 连通的是正常的通信 比如校园网&am…

无向图-已知根节点求高度

深搜板子题&#xff0c;无向图&#xff0c;加边加两个&#xff0c;dfs输入两个参数变量&#xff0c;一个是当前深搜节点&#xff0c;另一个是父节点&#xff08;避免重复搜索父节点&#xff09;&#xff0c;恢复现场 ///首先完成数组模拟邻接表#include<iostream> #incl…

JAVA方向的大数据包含啥内容?

文章目录 大数据是啥大数据就业方向知识体系HadoophiveHBaseSparkScala 总结 大数据是啥 你了解到的大数据是啥样子&#xff1f; 还是… 大数据(big data)&#xff0c;或称巨量资料&#xff0c;指的是所涉及的资料量规模巨大到无法透过主流软件工具&#xff0c;在合理时间…

深挖 Threads App 帖子布局,我进一步加深了对CSS网格布局的理解

当我遇到一个新产品时&#xff0c;我首先想到的是他们如何实现CSS。当我遇到Meta的Threads时也不例外。我很快就探索了移动应用程序&#xff0c;并注意到我可以在网页上预览公共帖子。 这为我提供了一个深入挖掘的机会。我发现了一些有趣的发现&#xff0c;我将在本文中讨论。 …

Redis BigKey案例

面试题&#xff1a; 阿里广告平台&#xff0c;海量数据里查询某一固定前缀的key小红书&#xff0c;你如何生产上限制keys*/flushdb/flushall等危险命令以防止误删误用&#xff1f;美团&#xff0c;MEMORY USAGE命令你用过吗&#xff1f;BigKey问题&#xff0c;多大算big&#…

webpack基础知识七:说说webpack proxy工作原理?为什么能解决跨域?

一、是什么 webpack proxy&#xff0c;即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题&#xff08;浏览器安全策略限制&#xff09; 想要实现代理首先需要一个中间服务器&#xff0c;webpac…

web爬虫第五弹 - JS逆向入门(猿人学第一题)

0- 前言 爬虫是一门需要实战的学问。 而对于初学者来说&#xff0c;要想学好反爬&#xff0c;js逆向则是敲门砖。今天给大家带来一个js逆向入门实例&#xff0c;接下来我们一步一步来感受下入门的逆向是什么样的。该案例选自猿人学练习题。猿人学第一题 1- 拿到需求 进入页面…

记录--一个好用的轮子 turn.js 实现仿真翻书的效果

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 国际惯例&#xff0c;官网链接 官网传送门 Github地址 github上有几个demos例子&#xff0c;介绍了基础用法。 我参考官网的例子&#xff0c;写了一个demo示例 安装 turn.js 依赖 jquery 库&#xff0…

MySQL — 存储引擎

文章目录 存储引擎存储引擎类型InnoDBMyISAMMEMORY 存储引擎是数据库的核心&#xff0c;对于mysql来说&#xff0c;存储引擎是以插件的形式运行的。虽然mysql支持种类繁多的存储引擎&#xff0c;但是常用的就那么几种。这篇文章主要是对其进行简单的介绍。 存储引擎 MySQL可插…

linux下绑定进程到指定CPU的操作方法

taskset简介 # taskset Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]] Show or change the CPU affinity of a process. Options: -a, --all-tasks operate on all the tasks (threads) for a given pid -p, --pid operate on ex…