Python学习笔记——基本类型、函数、输入和输出

news2025/1/12 22:47:00
  • 食用说明:本笔记适用于有一定编程基础的伙伴们。希望有助于各位!

基础类型

常用的简单类型有str,float,int,bool等,常见的复杂数据类型有function,type,list,tuple,dict,set等。具体如下:

    # 全部变量类型
    num1 = 0
    print(type(num1), num1)
    num2 = 1.0
    print(type(num2), num2)
    str1 = 'hello'
    print(type(str1), str1)
    # 转义标志
    str1 = '\'hello\''
    # 多行定义
    str1 = """
    hello,
    friend
    """
    bool1 = True
    print(type(bool1), bool1)
    none1 = None
    print(type(none1), none1)

    def func1():
        print('hello')

    print(type(func1))

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age

        def greet(self):
            print(f"hello, {self.name}")

    print(type(Person))

    # 列表的相同类型元素定义
    list1 = [1, 2, 3, 4, 5]
    print(type(list1), list1)

    # 列表的不同类型元素定义
    list2 = [1, 2, True, [1, 2]]
    print(type(list2), list2)

    # 元组,相同类型元素
    tuple1 = (1, 2, 3, 4, 5)
    print(type(tuple1), tuple1)
    # 元组,不同类型元素
    tuple2 = (1, (1, 2), [1, 2], True)
    print(type(tuple2), tuple2)

    # 字典类型
    dict1 = {'name': '张三', 'age': 18}
    print(type(dict1), dict1)

    # 集合类型
    set1 = {1, 2, 3}
    print(type(set1), set1)

    # 集合类型,不同类型元素
    set2 = {1, True, '张三', 1.2, func1}
    print(type(set2), set2)
  • 元组和列表相似,但无法修改。
  • 集合只能加入简单数据,无法加入可迭代数据,如字典类型,列表类型,集合类型以及元组类型。
  • 以上包含了大部分常用类型的定义和简单使用,可自行尝试。
函数(方法)定义

常规的函数定义结构如下:

从上图可知:

  • 函数的声明需要使用def关键字。
  • 函数必须拥有一个函数名,且包含参数括号,用于声明。

函数定义可以使用类型定义,具体如下:

def func1(a: float | int, b: int) -> float:
    return a + b

这一类型定义的方法与typescript类似,当然也有一定区别:

  • 定义参数类型时使用‘:’作为引导符,使用‘->’作为返回值引导符
  • 当出现多个参数类型定义时,可以使用‘|’作为分割符

另外参数如果为方法,同样可以用到类型定义,具体如下:

def func2(a: float, b: float, cb: callable) -> float:
    cb(a, b)
    return a + b


func2(1, 2, func1)
输入和输出

任何语言都有其独特的输入和输出语句,python固然拥有:

    username = input()
    password = input()
    print(f'your username:{username},your password:{password}!')
  • input()是一个控制台输入方法,用于接受用户输入
  • print()是一个控制台输出方法,用于输出特定内容
  • 使用f前置可以让输出字串格式化,格式化标志是{},在花括号内部的即变量

同时,输出格式化字串的方法不止一种,下面的方法也是不错的选择:

    username = input()
    password = input()
    print(f'your username:{username},your password:{password}!')
    print('your username:%s,your password:%s!' % (username, password))
  • 使用%格式化标志用于替换格式化字串,通常%s是字串格式化,而跟随字串之后的就是实际变量,也使用%隔开。
  • %格式方式可以定义字串的样式,如字宽,精度控制等,如下:
    name = "Polaris"
    age = 12.0178
    # 格式化方式,浮点数格式化m.n,m是宽度,n是小数精度控制(四舍五入)
    words = "hello, %s, age: %10.4f" % (name, age)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1105131.html

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

相关文章

SAP_MMPV创建自动任务每月底自动开下月物料账

SAP_MMPV创建自动任务每月底自动开下月物料账 1、MMPV设置变式 输入事务代码MMPV进入物料开账界面,输入公司代码,注意开账月份与时间等都不输入,点击保存按钮,如下图。 输入变式名称、描述,将变式设置为“仅用于后台…

程序的编译(预处理操作)+链接

目录 前言: 1. 程序的翻译环境和执行环境: 2. 详解编译链接 翻译环境: 1.预处理:(文本操作) 2.编译: 3.汇编: 4.链接: 运行环境 预处理详解 : #defi…

Hash Join(PostgreSQL 14 Internals翻译版)

一阶段哈希连接(One-Pass Hash Joins) 散列连接使用预构建的散列表搜索匹配的行。下面是一个使用这种连接的计划的例子: 在第一阶段,哈希连接节点1调用哈希节点2,哈希节点2从其子节点提取整个内部行集,并将…

Python 面向对象初步

目录 1 面向对象和面向过程区别1.1 面向过程(Procedure Oriented)思维1.2 面向对象(Object Oriented)思维1.3 面向对象思考方式1.4 面向对象和面向过程的总结 2 对象的进化3 类的定义4 __init__构造方法和__new__方法5 实例属性和实例方法5.1 实例属性5.2 实例方法5.2.1 实例对…

【学术】知云文献及划词翻译软件(XTranslator)的安装及使用

文章目录 一、知云文献翻译1.1 知云文献翻译是什么1.2 知云文献翻译下载地址1.3 知云文献翻译安装1.4 知云文献翻译使用1.4.1 使用方法1.4.2 解除限制1.4.3 软件特点1.4.4 翻译PDF 1.5 Windows版使用文档1.6 解锁所有翻译引擎 二、知云划词翻译(Xtranslator)2.1 知云划词翻译(X…

C# Winform编程(5)菜单和菜单组件

菜单和菜单组件 添加菜单编辑菜单 添加菜单 将MenuStrip控件拖拽到Form窗体顶部添加菜单 编辑菜单 添加菜单项,编辑菜单属性等功能。 右键单击已添加的菜单项可以弹出右键菜单: 可以设置菜单图标,使能菜单,显示快捷键、转换菜…

提高三维模型数据的几何坐标精度需要采取方法浅析

提高三维模型数据的几何坐标精度需要采取方法浅析 要提高倾斜摄影三维模型数据的几何坐标精度,可以采取以下方法: 选择合适的倾斜角度:倾斜角度对于几何坐标精度具有重要影响。过小的倾斜角度可能导致图像中特征点不足以提供准确的位置信息&…

10数据库-基础

四、数据库 15、MySQL 数据库优化 SQL优化 mysql优化 一、避免不走索引的场景尽量避免在字段开头模糊查询,会导致数据库引擎放弃索引进行全表扫描。尽量避免使用not in,会导致引擎走全表扫描。尽量避免使用 or,会导致数据库引擎放弃索引进行…

[opencv]图像和特征点旋转

本来说这是很简单的一个内容,图像旋转只需要使用opencv中自带的旋转函数即可完成,但是最近在做特征点旋转的时候发现使用内置rotate函数给图像旋转90度,再用getRotationMatrix2D得出的旋转矩阵对特征点旋转,画出来的特征点位置全部…

零基础学习HTML5

1. 使用软件 vscode 谷歌浏览器 vscode下载地址:https://code.visualstudio.com/ 谷歌可以使用360软件管家安装 2. 安装插件 在vscode中安装插件:open in browser,点击Extensions后搜索对应插件名然后点击安装Install 安装完成后可在htm…

【LeetCode】543. 二叉树的直径

543. 二叉树的直径(简单) 思路 对于任一结点,以此结点为根的diameter就可以表示为左子树高度 右子树高度,而二叉树的diameter就是所有结点为根的diameter中最大的那个。因此,变量 maxLen 用来保存当前遍历过的节点的…

phpstudy_2016-2018_rce_backdoor 漏洞复现

phpstudy_2016-2018_rce_backdoor 漏洞复现 Remote Command Execute 打开 bp 打开代理浏览器 访问 php 页面 回到 bp 查看 http 历史,找到刚刚访问的 php 页面 发送到 Repeater 转到 Repeater php 页面请求内容加 Accept-Charset: 修改 Accept-Encodi…

Comsol电磁铁仿真

简介 Comsol是一款多物理场仿真软件,可以完成固体力学、流体力学、传热学和电磁学的仿真。本文将介绍使用Comsol完成电磁铁仿真的主要流程,计算铁芯的受力。 步骤 1.建立模型并设置材料 建立二维旋转对称模型,绿色为动铁,材料…

STM32F103外部晶振8MHZ改为16MHz的使用

STM32F103外部晶振8MHZ改为16MHz的使用 目录 STM32F103外部晶振8MHZ改为16MHz的使用前言一、修改标准函数库的方法1、stm32f10x.h修改HSE_VALUE2 、system stm32f10x.c的SetSysClockTo72()函数修改3、不同晶振的统一配置的方式4 、时间晶振修改5、修改Ta…

基于STM32F407的FreeRTOS学习笔记(1)——环境搭建

以前使用STM32单片机一直停留在逻辑开发以及前后台系统,而真正被广泛使用的则是RTOS。 前后台系统则是我们常用的,使用一个主循环许多的调用函数这些构成了后系统,利用中断进行异常处理则是前系统。 而RTOS则是将任务按照优先级排列&#xf…

怎么压缩图片?图片过大这样压缩变小

在日常生活中,我们常常会遇到需要上传或发送图片的情况,然而,很多时候图片的大小会成为问题,因为过大的图片可能会导致传输速度变慢,甚至无法上传。那么,如何将这些过大的图片压缩变小呢? 一、嗨…

【C++进阶之路】类型转换

文章目录 类型转换1.C语言的类型转换1.1整形提升1.2算术转换1.3强制类型转换 2.C类型转换2.1static_cast2.2reinterpret_cast2.3const_cast2.3dynamic_cast 总结 类型转换 1.C语言的类型转换 1.1整形提升 在写顺序表的插入函数时,我们的接口实现是这样的&#xf…

Confluence 自定义展示页面

1. 概述 Confluence 作为知识库可通过JS脚本方式&#xff0c;根据登录用户或用户组进行前端页面的自定义 2. 实现方式 Confluence →管理→自定义HTML 嵌入对应JS脚本&#xff0c;示例如下 <script type"text/javascript">jQuery(#footer).html(<div>…

UE5 Python脚本自动化Sequence Key帧

前言 码上1024了&#xff0c;给大家分享一个UE5的脚本小功能&#xff0c;UE5中Sequence动态Key功能&#xff0c;这样我们就可以根据我们的数据动态更新了&#xff0c;非常实用&#xff0c;适合刚入门或者小白&#xff0c;接下来我就把整个过程分享给大家。 过程 新建一个工程…

E049-论坛漏洞分析及利用-针对bwapp进行web渗透测试的探索

课程名称&#xff1a; E049-论坛漏洞分析及利用-针对bwapp进行web渗透测试的探索 课程分类&#xff1a; 论坛漏洞分析及利用 --------------------------------------------------------------------------------------------------------------------------------- 实验等…