python字符串输入输出与注解

news2024/12/24 21:02:20

目录

数据输入

前言

数据输出

字符串

字符串的三种定义方法

引号嵌套

字符串的拼接

字符串格式化

+拼接字符串缺点

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.coloradmin.cn/o/840202.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分类预测 | MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测 目录 分类预测 | MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测…

DASCTF 2023 0X401七月暑期挑战赛 Web方向 EzFlask ez_cms MyPicDisk 详细题解wp

EzFlask 源码直接给了 CtrlU查看带缩进的源码 import uuidfrom flask import Flask, request, session # 导入黑名单列表 from secret import black_list import jsonapp Flask(__name__) # 为 Flask 应用设置一个随机的 secret_key app.secret_key str(uuid.uuid4())# 检查…

epoll、poll、select的原理和区别

select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select&a…

Android 实现账号诊断动画效果,逐条检测对应的项目

Dialog中的项目 逐条检测效果&#xff1a; 依赖库&#xff1a; implementation com.github.li-xiaojun:XPopup:2.9.19 implementation com.blankj:utilcodex:1.31.1 implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.101、item_account_check.xml <…

【C语言】静态关键字static的用法(详解)

&#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 ✨收录专栏&#xff1a;C语言初阶 ✨其他专栏&#xff1a;代码小游戏 &#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论…

I.MX6ULL_Linux_驱动篇(44)linux MISC驱动

MISC 驱动也叫做杂项驱动&#xff0c;也就是当我们板子上的某些外设无法进行分类的时候就可以使用 MISC 驱动。 MISC 驱动其实就是最简单的字符设备驱动&#xff0c;通常嵌套在 platform 总线驱动中&#xff0c;实现复杂的驱动&#xff0c;本章我们就来学习一下 MISC 驱动的编写…

恺英网络宣布:与华为鸿蒙系统展开合作,将开发多款手游

8月5日消息&#xff0c;恺英网络宣布旗下子公司盛和网络参加了华为开发者大会&#xff08;HDC.Together&#xff09;游戏服务论坛&#xff0c;并在华为鸿蒙生态游戏先锋合作启动仪式上进行了亮相。恺英网络表示&#xff0c;将逐步在HarmonyOS上开发多款游戏&#xff0c;利用Har…

【C++】做一个飞机空战小游戏(五)——getch()控制两个飞机图标移动(控制光标位置)

[导读]本系列博文内容链接如下&#xff1a; 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动【C】做一个飞机空战小游戏(三)——getch()函数控制任意造型飞机图标移动 【C】做一个飞…

ffmpeg-ffplay代码架构简述

全局变量 /* Minimum SDL audio buffer size, in samples. */ // 最小音频缓冲 #define SDL_AUDIO_MIN_BUFFER_SIZE 512 /* Calculate actual buffer size keeping in mind not cause too frequent audio callbacks */ // 计算实际音频缓冲大小&#xff0c;并不需要太频繁…

c语言基础知识帮助理解(详解数组)

前面梳理完函数和递归的知识后&#xff0c;来进行数组知识的梳理 对函数有疑惑的同学&#xff0c;可以看我之前的文章&#xff1a;c语言基础知识帮助理解&#xff08;详解函数&#xff09;_总之就是非常唔姆的博客-CSDN博客 c语言基础知识帮助理解&#xff08;函数递归详解&am…

类的6个默认成员函数 构造函数

类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生…

ruoyi-cloud-notes01

1、Maven中的dependencyManagement Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyManagement元素中声明所依赖的jar包的版本号等信息&#xff0c;那么所有子项目再次引入此依赖jar包时则无需显式的列出版本号。Maven会沿着父子层级向上寻找…

HCIP MPLS总结

一、MPLS--多协议标签交换 多协议&#xff1a;可以基于多种不同的3层协议来生成2.5层的标签信息&#xff1b; 包交换&#xff1a;包为网络层的PDU&#xff0c;故包交换是基于IP地址进行数据转发&#xff1b;就是路由器的路由行为&#xff1b; 原始的包交换&#xff1a;数据包…

STM32 CubeMX USB_CDC(USB_转串口)

STM32 CubeMX STM32 CubeMX 定时器&#xff08;普通模式和PWM模式&#xff09; STM32 CubeMX一、STM32 CubeMX 设置USB时钟设置USB使能UBS功能选择 二、代码部分添加代码实验效果 ![请添加图片描述](https://img-blog.csdnimg.cn/a7333bba478441ab950a66fc63f204fb.png)printf发…

分库分表概念、原理、拆分策略和实现技术讲解

文章目录 1.什么是分库分表2.分库分表拆分策略2.1 垂直拆分2.2 水平拆分 3.分库分表实现技术简介 1.什么是分库分表 分库分表的中心思想就是将数据分散存储&#xff0c;使得单一数据库/表的数据量变小来缓解单一数据库的性能问题&#xff0c;从而达到提升数据库性能的目的。 …

python中使用yt-dlp模块实现带进程条下载音视频

当代的互联网时代&#xff0c;视频内容的流行无疑是其中的重要组成部分。作为全球最大的视频分享平台&#xff0c;每天吸引着数以亿计的用户观看各种各样的视频内容。有时候&#xff0c;我们可能希望将某些喜欢的视频保存到本地进行观看&#xff0c;或者将它们用于其他用途。在…

406 · 和大于S的最小子数组

链接&#xff1a;LintCode 炼码 - ChatGPT&#xff01;更高效的学习体验&#xff01; 题解&#xff1a;同向双指针 九章算法 - 帮助更多程序员找到好工作&#xff0c;硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧 class Solution { public:/*** param nums: an array …

任务12、Quality指令加持,Midjourney生成电影级数码作品

12.1 任务概述 本次实验任务旨在帮助你掌握Midjourney AI绘画中的Quality指令。通过深入介绍Quality指令的概念和作用,我们将解释为什么它在绘画中至关重要。通过测试不同的Quality参数对绘画效果的影响,并提供实战演示,你将学会如何在Midjourney中设置Quality参数以达到更…

Spring 事务详解(注解方式)

目 录 序言 1、编程式事务 2、配置声明式事务 2.1 基于TransactionProxyFactoryBean的方式&#xff08;不常用&#xff0c;因为要为每一个类配置TransactionProxyFactoryBean&#xff09; 2.2 基于AspectJ的XML方式&#xff08;常用&#xff0c;可配置在某些类下的所有子…