当前位置: 首页 > news >正文

Python——1

一、注释

(1)单行注释:#需要注释的内容(#)

(2)多行注释:'''需要注释的内容'''(三引号)

 二、变量及变量类型

1.变量

语法定义:变量名  =  变量值(这里的 = 作用为赋值)

变量名/标识符的命名规则:

        a.数字不能开头,且用字符、数字、字母组成;

        b.严格区分大小写;

        c.不能使用关键字

        关键字:一些标有特殊功能的字,可使用以下代码查看:

import keyword
print(keyword,kwlist)

命名规范:

        a.有意义(易读性);

        b.驼峰命名法

                b.1小驼峰命名法:第一个单词的首字母小写,后续的单词的首字母大写;

                b.2大驼峰命名法:每一个单词的首字母均用大写;

        c.以下划线“ _ ”来连接所以单词。

2.变量的多次赋值

        当多次赋值之后,变量名会指向新的空间。

3.变量类型

        int、float、bool、str、list、tuple、dict。可以用 type() 查看数据类型。

(1)int——整数类型

        牵涉到进制内容。python中用 0b 的前缀表示二进制, 0o 表示八进制, 0x 表示十六进制。十进制转换二进制并且保存为字符串类型:

a = 985print(bin(a))   #0b1111011001(十进制转二进制)
print(oct(a))   #0o1731(十进制转八进制)
print(hex(a))   #0x3d9(十进制转十六进制)

(2)float——浮点类型

        a.由整数部分+小数部分构成;

        b.float存储不准确(由于计算机是以二进制存储数据的,底层问题)

                使用浮点数进行运算时,可能出现小数位数不确定的情况

        解决办法:导入decimal:from decimal import Decimal

print(1.1+2.2)  # 3.3000000000000003
print(1.1+2.1)  # 3.2# 解决方法:导入decimal
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))    # 3.3

(3)bool——布尔型

        要不为True,要不为False;

        可转换位数字:True -> 1,False -> 0。

(4)str——字符串

        不可变的字符序列;

        可用单引号、双引号、三引号定义。

4.类型转换

        不同类型的数据在进行拼接时需要进行类型转换。

(1)str() :其他数据类型 -> 字符串

        可用引号转换。例如 str(123) == '123'。

(2)int() :其他数据类型 -> 整数

        文字类和小数类字符串不可转换成整数;

        浮点数转换成整数:直接抹零。

(3)float() :其他数据类型 -> 浮点

        文字类不可转换成浮点;

        整数转换成浮点:直接加.0。

三、运算符

1.input() 函数

        变量名 = input('......')(“......”表示需要输入的内容,最终得到的是字符串类型的变量

2.算术运算符

        +、-、*、/、//、%、**、()

(1)//(整除运算符)

        结果取商的整数部分。需注意的是当遇到一正一负的整除运算时,结果向下取整。例如 -9//4=-3。 

(2)%(取余运算符)

        结果取商的余数。需注意的是当遇到一正一负的取余运算时,余数用公式计算:

余数 = 被除数 - 除数*商

(3)**(幂运算)

(4)()——可用于提高运算优先级

(5)当算术运算符用于字符串时,需注意:

        a.两字符串使用 "+" ,表示将两字符串拼接成一个字符串;

        b.数字 + 字符串,则报错;

        c.字符串 * 整数,则表示重复该整数遍字符串。

3.赋值运算符

        =、+=、-=、*=、/=、//=、**=、%=

        支持系列解包赋值。例如

a,b,c = 1,2,3
print(a,b,c)    #1 2 3

4.比较运算符

        ==、!=、>、>=、<、<=、is、is not(结果均为布尔值)

(1)==、!=、>、>=、<、<=

        比较的是变量的值即value。

(2)is、is not

        比较的是变量的id。

a = 10
b = 10
print(a == b)   #True
print(a is b)   #True
print(a is not b)   #False#但是以下为例外:
list1 = [1,2,3]
list2 = [1,2,3]
print(list1 == list2)   #True
print(list1 is list2)   #False

5.逻辑运算符(布尔运算符)

        and、or、not、in、not in

(1)逻辑运算符的短路问题

a = 20a > 10 and print('Hello World')     #Hello World
a < 10 and print('Hello World')     #无输出a > 10 or print('你好世界')         #无输出
a < 10 or print('你好世界')         #你好世界str1 = 'Hello World'
print('H' in str1)      #True
print('l' not in str1)  #False

6.位运算符

        &、|、<<、>>(需要将数据转换成二进制,再计算)

(1)&——按位与

        同为1为1,否则为0。

(2)|——按位或

        只要有一个为1,则为1。

(3)<<——左移

        高位溢出舍弃,低位补0。

(4)>>——右移

        低位溢出舍弃,高位补0。

7.运算符优先级

 三、结构

1.对象的布尔值

        Python一切皆对象,所以对象均有一个布尔值。获取对象布尔值,可以使用内置函数bool()。以下对象的布尔值均为False:False、数值0、None、空字符串、空列表、空元组、空字典、空集合。除此之外,其余对象的布尔值均为True。

2.选择结构

        程序根据判断条件的布尔值选择性地执行部分代码。

(1)单分支结构

if 条件表达式:

        条件执行体

(2)双分支结构

if 条件表达式:

        条件执行体1

else:

        条件执行体2

(3)多分支结构

if 条件表达式1:

        条件执行体1

elif 条件表达式2:

        条件执行体2

            ...

elif 条件表达式n:

        条件执行体n

else: 

        条件执行体n+1

(4)嵌套if

if 条件表达式1:

        if 内嵌条件表达式1:

                内嵌条件执行体1

        else:

                内嵌条件执行体2

else: 

        条件执行体1

(5)条件表达式

        实质上就是 if......else 的缩写。

x  if  判断条件  else  y

注:
a.判断条件布尔值为True,返回x;

b.判断条件布尔值为False,返回y。

3.pass语句

        什么都不做,只是一个占位符,用到需要写语句的地方。

相关文章:

Python——1

一、注释 &#xff08;1&#xff09;单行注释&#xff1a;#需要注释的内容&#xff08;#&#xff09; &#xff08;2&#xff09;多行注释&#xff1a;需要注释的内容&#xff08;三引号&#xff09; 二、变量及变量类型 1.变量 语法定义&#xff1a;变量名 变量值&#…...

bgp团体属性配置案例一

RouterA的配置 sysname RouterA interface GigabitEthernet1/0/0 ip address 192.168.0.1 255.255.255.0 interface LoopBack0 ip address 1.1.1.1 255.255.255.255 bgp 10 router-id 1.1.1.1 //Router ID&#xff0c;建议配置为LoopBack0的IP地址 peer 192.168.0.2 as-number …...

mybatis-plus配置日志实现方式

Mybatis-plus是一个基于Mybatis的强大框架&#xff0c;可以帮助开发者快速地开发高质量的数据库应用程序。Mybatis-plus提供了许多配置项&#xff0c;其中一个重要的配置项是log-impl。 log-impl配置项定义了Mybatis-plus的日志实现方式&#xff0c;有两种可选的方式&#xff…...

Cy5.5 NHS ester 氨基反应性荧光染料Cyanine5.5 -NHS

Cy5.5 NHS ester是一种常用的荧光探针&#xff0c;可用于细胞或组织的荧光标记&#xff0c;也可用于蛋白质或核酸的标记。Cy5.5 NHS ester的荧光峰位于近红外区域&#xff0c;波长为675nm&#xff0c;具有较强的荧光强度和较长的荧光寿命&#xff0c;适合于生物分子在体内或组织…...

深度思考:在 AI 时代,你会被放大一千倍的能力是什么?

Datawhale干货 作者&#xff1a;艾芙&#xff0c;复旦大学&#xff0c;百姓AI教育负责人 前言 大家晚上好&#xff0c;我是艾芙&#xff0c;百姓 AI 的 AI 教育负责人。 先做一下自我介绍&#xff0c;我是一个在技术圈和教育圈反复横跳的斜杠中年了。大约在 5 年前&#xff0c…...

蚂蚁实时低代码研发和流批一体的应用实践

摘要&#xff1a;本文整理自蚂蚁实时数仓架构师马年圣&#xff0c;在 Flink Forward Asia 2022 流批一体专场的分享。本篇内容主要分为四个部分&#xff1a; 实时应用场景与研发体系低代码研发流批一体规划展望 点击查看原文视频 & 演讲PPT 一、实时应用场景与研发体系 蚂蚁…...

5 创建映射

5 映射 上边章节安装了ik分词器&#xff0c;如果在索引和搜索时去使用ik分词器呢&#xff1f;如何指定其它类型的field&#xff0c;比如日期类型、数 值类型等。 本章节学习各种映射类型及映射维护方法。 5.1 映射维护方法 1、查询所有索引的映射&#xff1a; GET&#xf…...

windows注册表参数(%1,%2,%v) windows注册表是不区分大小写的.

windows注册表是不区分大小写的. 参数 含义 %1 文件路径 %2 系统默认的打印机 %3 文件扇区 %4 端口 %D 文件路径 %L 文件长路径 %V 文件路径 %W 当前文件的父目录的路径 参考:https://blog.csdn.net/meng_suiga/article/details/79485855 ————…...

基于SpringBoot的大学生租房系统

背景 大学生租房系统设计的目的是建立一个高效的平台&#xff0c;采用简洁高效的Java语言与Mysql数据库等技术&#xff0c;设计和开发了本大学生租房系统设计。该系统主要实现了用户和房主通过系统注册用户&#xff0c;登录系统后能够编辑自己的个人信息、查看首页&#xff0c…...

NetApp 利用适用于混合云的实时解决方案解决芯片设计方面的数据管理挑战

电子设计自动化 (EDA) 成本持续增加&#xff0c;而周期时间缩短。这些都为 EDA 设计带来了前所未有的挑战&#xff0c;对现代高性能工作流的需求变得从未如此巨大。 联想凌拓芯片设计行业存储解决方案及最佳实践 联想凌拓芯片行业数据存储与管理解决方案&#xff0c;针对EDA…...

Rust + WASM 入门

一、参考资料 参考官方技术文档 https://rustwasm.github.io/ 二、安装脚手架 cargo-generate # cargo-generate 用于快速生成 WASM 项目的脚手架&#xff08;类似 create-react-app&#xff09; cargo install cargo-generate 三、下载安装 wasm-pack.exe 打包工具 双击安装…...

【操作系统】内存空间

最小的操作系统Hello world 想要pmap这个进程&#xff0c;需要进程号 但是这个进程在启动的一瞬间就执行完了 用GDB把程序暂停下来&#xff0c;然后用pmap观察地址空间 用info inferiors得到gdb里的进程号 ro 可读 &#xff1a;只读数据 rx 可读可执行 &#xff1a;代码 rw 可…...

详解静态、动态代理以及应用场景

一篇不太一样的代理模式详解&#xff0c;仔细阅读&#xff0c;你一定会获取不一样的代理见解&#xff0c;而不是人云亦云。 查看了社区里关于代理模式描述&#xff0c;发现很多博客千篇一律甚至存在共性错误&#xff0c;写此文提出自己对代理的见解。 静态代理动态代理 JDKCGLi…...

ChatGLM-6B本地cpu部署

ChatGLM-6B是清华团队研发的机器人对话系统&#xff0c;类似ChatGPT&#xff0c;但是实际相差很多&#xff0c;可以当作一个简单的ChatGPT。 ChatGLM部署默认是支持GPU加速&#xff0c;内存需要32G以上。普通的机器无法运行。但是可以部署本地cpu版本。 本地部署&#xff0c;需…...

算法修炼之练气篇——练气七层

博主&#xff1a;命运之光 专栏&#xff1a;算法修炼之练气篇 前言&#xff1a;每天练习五道题&#xff0c;炼气篇大概会练习200道题左右&#xff0c;题目有C语言网上的题&#xff0c;也有洛谷上面的题&#xff0c;题目简单适合新手入门。&#xff08;代码都是命运之光自己写的…...

vscode常用快捷方式

基本编辑 Ctrl X&#xff1a;剪切当前行或选定内容 Ctrl C&#xff1a;复制当前行或选定内容 Ctrl V&#xff1a;粘贴当前行或剪切板内容 Ctrl Z&#xff1a;撤销上一步操作 Ctrl Y&#xff1a;恢复上一步撤销的操作 Ctrl F&#xff1a;在当前文件中查找内容 Ctrl H&am…...

如何压缩mp3文件大小,5分钟学会4种方法

如何压缩mp3文件大小&#xff1f;我们在开车的时候都很喜欢听歌&#xff0c;一般歌曲库里的mp3文件都很多&#xff0c;小编的就有上千首。如果我们还想要增加更多mp3文件&#xff0c;有时候就会出现内存不足的情况啦。所以我们需要压缩mp3文件大小&#xff0c;这样才能在我们手…...

从0搭建Vue3组件库(十二):引入现代前端测试框架 Vitest

Vitest 是个高性能的前端单元测试框架,它的用法其实和 Jest 差不多,但是它的性能要优于 Jest 不少,还提供了很好的 ESM 支持,同时对于使用 vite 作为构建工具的项目来说有一个好处就是可以公用同一个配置文件vite.config.js。因此本项目将会使用 Vitest 作为测试框架。 安装 …...

使用Handler创建一个Android秒表应用

本文所有代码都放在以下链接中&#xff1a;https://github.com/MADMAX110/Stopwatch 0、应用是一个有活动、布局和其他资源组成的集合。其中一个活动是应用的主活动。每个应用都有一个主活动&#xff0c;在文件AndroidManifest.xml中指定。 1、默认地&#xff0c;每个应用都在…...

node-sass安装失败解决方法总结

node-sass 安装失败的原因 npm 安装 node-sass 依赖时&#xff0c;会从 github.com 上下载 .node 文件。由于国内网络环境的问题&#xff0c;这个下载时间可能会很长&#xff0c;甚至导致超时失败。 解决方法一&#xff1a;使用淘宝镜像源&#xff08;推荐&#xff09; npm …...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...