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

妙不可言的Python之旅----(二)

Python基础语法

什么是字面量

字面量在代码中,写下来固定的,称之为字面量

常用的值类型

类型

描述

说明

数字(Number)

支持

整数(int)
浮点数(float)
复数(complex)
布尔(bool)

整数(int),如:10、-10

浮点数(float),如:13.14、-13.14

复数(complex),如:4+3j,以j结尾表示复数

布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。

True本质上是一个数字记作1,False记作0

字符串(String)

描述文本的一种数据类型

字符串(string)由任意数量的字符组成

列表(List

有序的可变序列

Python中使用最频繁的数据类型,可有序记录一堆数据

元组(Tuple

有序的不可变序列

可有序记录一堆不可变的Python数据集合

集合(Set

无序不重复集合

可无序记录一堆不重复的Python数据集合

字典(Dictionary

无序Key-Value集合

可无序记录一堆Key-Value型的Python数据集合

字符串 

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

如:

"兰科er "
"Eternallei学python "
" !@#$%^& "
"中秋国庆双节快乐 "

Python中,字符串需要用双引号(")包围起来,或者说被引号包围起来的,都是字符串

基于print语句完成各类字面量输出

print(字面量),如:

print(520) ,输出整数520
print(13.14) ,输出浮点数 13.14
print("兰科er") ,输出字符串:兰科er

了解注释的作用 

注释:在程序代码中对程序代码进行解释说明的文字。

作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性

注释的分类

单行注释:以 #开头#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用

# 单行注释
print("HelloWorld!")

多行注释: 以 一对三个双引号 引起来 (             )来解释说明一段代码的作用使用方法

"""
多行注释
诗名:悯农
作者:李绅
"""
print("锄禾日当午")
print("汗滴禾下土")
print("谁知盘中餐")
print("粒粒皆辛苦")

变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。

简单的说,变量就是在程序运行时,记录数据用的

变量的定义格式:

变量名称 = 变量的值

每一个变量都有自己的名称,称之为:变量名,也就是变量本身

赋值,表示将等号右侧的值,赋予左侧的变量

每一个变量都有自己存储的值(内容),称之为:变量值

变量的特征

变量,从名字中可以看出,表示是可变的。

所以,变量的特征就是,变量存储的数据,是可以发生改变的。

变量的目的是存储运行过程的数据

存储的目的是为了:重复使用

变量命名规范

变量名

类名

方法名

不同的标识符,有不同的规范。

我们目前只接触到了:变量

见名知意,下划线命名法,英文字母全小写

变量命名规范 - 见名知意

变量的命名要做到:

明了:尽量做到,看到名字,就知道是什么意思,

简洁:尽量在确保明了的前提下,减少名字的长度。

变量命名规范 - 下划线命名法

多个单词组合变量名,使用下划线做分隔。

变量命名规范 - 英文字母全小写

命名变量中的英文字母,应全部小写。

数据类型

数据是有类型的。

目前在入门阶段,我们主要接触如下三类数据类型:

类型

描述

说明

string

字符串类型

用引号引起来的数据都是字符串

int

整型(有符号)

数字类型,存放整数 如 -1,10, 0

float

浮点型(有符号)

数字类型,存放小数 如 -3.14, 6.66

stringintfloat这三个英文单词,就是类型的标准名称。

type()语句

type(被查看类型的数据)

type()语句的使用方式

1. print语句中,直接输出类型信息

2. 用变量存储type()的结果(返回值)

他也可以查看变量中存储的数据类型

我们通过type(变量)可以输出类型,这查看的是:变量存储的数据的类型。

因为,变量无类型,但是它存储的数据有。

字符串类型的不同定义方式

双引号定义: "字符串"

单引号定义:  '字符串'

三引号定义:"""字符串"""

三引号定义法,表示在一堆三个双引号的范围内,均是字符串,要注意的是,包含范围是:从三个引号开始,到下一个三个引号结束

数据类型的转换

常见的转换语句

语句(函数)

说明

int(x)

x转换为一个整数

float(x)

x转换为一个浮点数

str(x)

将对象 x 转换为字符串

同前面学习的type()语句一样,这三个语句,都是带有结果的(返回值)我们可以用print直接输出

或用变量存储结果值

类型转换注意事项

类型转换不是万能的,毕竟强扭的瓜不甜,我们要注意:

1. 任何类型,都可以通过str(),转换成字符串

2. 字符串内必须真的是数字,才可以将字符串转换为数字

所以任何类型都可以转换成字符串,但字符串不可以随意转换成数字,字符串内必须只有数字才可以,如果是浮点数转整数会丢失精度,也就是小数部分

标识符

什么是标识符

在Python程序中,我们可以给很多东西起名字,比如:

变量的名字

方法的名字

类的名字,等等

这些名字,我们把它统一的称之为标识符,用来做内容的标识。

所以,标识符:是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。

标识符命名规则

Python中,标识符命名的规则主要有3类:

内容限定大小写敏感且不可使用关键字

标识符命名规则 - 内容限定

标识符命名中,只允许出现:

英文

中文

数字

下划线(_

这四类元素,其余任何内容都不被允许

需要注意的是:数字不可以开头, 不推荐使用中文

标识符命名规则 - 大小写敏感

以定义变量为例:

Jake = "杰克1"
jake = "杰克2"
print(Jake)
print(jake)

可以看到字母a的大写和小写,是完全能够区分的。

标识符命名规则 - 不可使用关键字

Python中有一系列单词,称之为关键字,关键字在Python中都有特定用途,不可以使用它们作为标识符

运算符

算术(数学)运算符

运算符

描述

实例

+

两个对象相加 a + b 输出结果 30

-

得到负数或是一个数减去另一个数 a - b 输出结果 -10

*

两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200

/

b / a 输出结果 2

//

取整除

返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

%

取余

返回除法的余数 b % a 输出结果 0

**

指数

a**b 1020次方, 输出结果 100000000000000000000

算术运算符的演示
print("1 + 2结果是:%d" %(1 + 2))
print("2 - 1结果是:%d" % (2 - 1))
print("1 * 3结果是:%d" % (1 * 3))
print("9 / 3结果是:%d" % (9 / 3))
print("9 / 2(9整除2)结果是:%d" % (9 / 2))
print("9 %% 2(9余2的结果是)结果是:%d" % (9 % 2))
print("2的 6 次方是:结果是:%d" % (2 ** 6))

输出结果如图: 

赋值运算符 

运算符

描述

实例

=

赋值运算符

= 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7

复合赋值运算符 

运算符

描述

实例

+=

加法赋值运算符

c += a 等效于 c = c + a

-=

减法赋值运算符

c -= a 等效于 c = c - a

*=

乘法赋值运算符

c *= a 等效于 c = c * a

/=

除法赋值运算符

c /= a 等效于 c = c / a

%=

取模赋值运算符

c %= a 等效于 c = c % a

**=

幂赋值运算符

c **= a 等效于 c = c ** a

//=

取整除赋值运算符

c //= a 等效于 c = c // a

数据输入 

input语句(函数)

前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。

Python中,与之对应的还有一个input语句,用来获取键盘输入。

数据输出:print

数据输入:input

使用上也非常简单:使用input()语句可以从键盘获取输入

使用一个变量接收(存储)input语句获取的键盘输入数据即可

print("输入您的名字:")
name = input()
print(f"欢迎您:{name}先生!")
input语句获取的数据类型

刚刚试验的都是输入了字符串类型的数据。

那么如果我们输入数字类型或其它类型,

使用type()语句可以来验证一下输入内容的数据类型

可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息。

v1 = input("请输入一个字符串:")
v2 = input("请输入一个整数:")
v3 = input("请输入一个浮点数:")
v4 = input("请输入一个布尔类型:")
print(f"输入的是字符串,变量类型是{type(v1)},内容是: {v1}")
print(f"输入的是整数,变量类型是{type(v2)},内容是:{v2}")
print(f"输入的是浮点数,变量类型是{type(v3)},内容是:{v3}")
print(f"输入的是布尔类型,变量类型是{type(v4)},内容是:{v4}")

结果如下,小伙伴可自行尝试: 

.要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型!

相关文章:

妙不可言的Python之旅----(二)

Python基础语法 什么是字面量 字面量:在代码中,被写下来的的固定的值,称之为字面量 常用的值类型 类型 描述 说明 数字(Number) 支持 • 整数(int) • 浮点数(float&#xff…...

cartographer(1)-运行

1.下载数据集 #1.下载数据集: mkdir /home/tang/bagfiles#2.开始二维建图 cd /home/tang/carto_ws/cartographer_detailed_comments_ws/install_isolated/source install_isolated/setup.bash rospack profile #新装的包索引地址存在ros的环境里 roslaunch ca…...

C++:模板进阶与继承

模板进阶与继承 模板进阶1.非类型的模板参数2.模板的特化2.1特化的概念2.2函数模板特化2.3类模板特化2.4全特化和偏特化2.4.1全特化2.4.2偏特化 3.模板的分离编译3.1同文件分离3.2不同文件下分离 继承1.继承的概念和定义1.1继承的概念1.2继承的定义1.2.1定义格式1.2.2继承关系和…...

vue-img-cutter 实现图片裁剪[vue 组件库]

借助 vue-img-cutter 可以在网页端实现图片裁剪功能,最终功能效果如下: 组件 npm 安装 npm install vue-img-cutter2 --save-dev # for vue2 npm install vue-img-cutter3 --save-dev # for vue3vue-img-cutter使用 template模板标签模块&#xff0c…...

手把手教你从零开始腾讯云服务器部署(连接建站教程)

使用腾讯云服务器搭建网站全流程,包括轻量应用服务器和云服务器CVM建站教程,轻量可以使用应用镜像一键建站,云服务器CVM可以通过安装宝塔面板的方式来搭建网站,腾讯云服务器网txyfwq.com分享使用腾讯云服务器建站教程,…...

微信开放平台第三方开发,实现代小程序备案申请

大家好,我是小悟 微信小程序备案整体流程总共分为五个环节:备案信息填写、平台初审、工信部短信核验、通管局审核和备案成功。 服务商可以代小程序发起备案申请。在申请小程序备案之前,需要确保小程序基本信息已填写完成、小程序至少存在一个…...

设计模式——11. 享元模式

1. 说明 享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少系统中相似对象的内存占用或计算开销,通过共享相同的对象来达到节省资源的目的。 享元模式的核心思想是将对象的状态分为内部状态(Intrinsic State)和外部状态(Extrinsic State): 内部状态是对象…...

【LLM】主流大模型体验(文心一言 科大讯飞 字节豆包 百川 阿里通义千问 商汤商量)

note 智谱AI体验百度文心一言体验科大讯飞大模型体验字节豆包百川智能大模型阿里通义千问商汤商量简要分析:仅从测试“老婆饼为啥没有老婆”这个问题的结果来看,chatglm分点作答有条理(但第三点略有逻辑问题);字节豆包…...

CSS小计

1:设置图片随窗缩放 使用百分比 width: 100%;height: 100%; 使用vmin: 将可视区域分为100vmin width: 100vmin;height: 100vmin; 2:设置字体颜色与背景色融合 mix-blend-mode: difference 3: 设置宽度自适应 width:fit-content 4:外边距合并 当两个相领的两个容…...

机器学习:决策树

决策树 决策树是一种基于树形结构的模型,决策树从根节点开始,一步步走到叶子节点(决策),所有的数据最终都会落到叶子节点,既可以做分类也可以做回归。 特征选择 根节点的选择该用哪一个特征呢&#xff…...

xxl-job的原理(2)—调度中心管理注册信息

一、调度中心管理注册信息 1.JobApiController 执行器调用调度中心的url来实现注册、下线、回调等操作;其主要的实现类是JobApiController,调用/api/registry接口注册执行器信息,调用/api/registryRemove接口下线执行器信息,调用…...

小白入门pytorch(二)----神经网络

本文为🔗[小白入门Pytorch]学习记录博客 文章目录 前言一、神经网络的组成部分1.神经元2.神经网络层3.损失函数4.优化器 二、Pytorch构建神经网络中的网络层全连接层2.卷积层3.池化层4.循环神经网络5.转置卷积层6.归一化层7.激活函数层 三、数据加载与预处理1.数据加…...

【进阶C语言】排序函数(qsort)与模拟实现(回调函数的实例)

本章大致内容目录: 1.认识回调函数 2.排序函数qsort 3.模拟实现qsort 回调函数为C语言重要知识点,以函数指针为主要知识;下面介绍回调函数的定义、回调函数的库函数举例即库函数模拟实现。 一、回调函数 1.回调函数定义 回调函数就是一…...

CentOS 7 上编译和安装 SQLite 3.9.0

文章目录 可能报错分析详细安装过程 可能报错分析 报错如下: django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17). 原因:版本为3.7.太低了,需要升级到3.9.0至少 详细安装过程 1.安装所需的…...

[GXYCTF2019]禁止套娃 无回显 RCE 过滤__FILE__ dirname等

扫除git 通过githack 获取index.php <?php include "flag.php"; echo "flag在哪里呢&#xff1f;<br>"; if(isset($_GET[exp])){if (!preg_match(/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i, $_GET[exp])) {if(; preg_replace(/[a-z,_]\(…...

Springboot使用Aop保存接口请求日志到mysql

1、添加aop依赖 <!-- aop日志 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency> 2、新建接口保存数据库的实体类RequestLog.java package com.example…...

网络安全面试题汇总(附答案)

作为从业多年的网络安全工程师&#xff0c;我深知在面试过程中面试官所关注的重点及考察的技能点。网络安全作为当前信息技术领域中非常重要的一部分&#xff0c;对于每一个从事网络安全工作的人员来说&#xff0c;不仅需要掌握一定的技术能力&#xff0c;更需要具备全面的综合…...

Centos7安装kvm,配置虚拟机网络

1.安装软件包&#xff0c;禁用防火墙&#xff08;非必须&#xff09; yum -y install qemu-kvm libvirt virt-install 1&#xff09;禁用防火墙&#xff08;非必须&#xff09; systemctl stop firewalld systemctl disable firewalld 2&#xff09;禁用NetworkManager syst…...

Javascript文件上传

什么是文件上传 文件上传包含两部分&#xff0c; 一部分是选择文件&#xff0c;包含所有相关的界面交互。一部分是网络传输&#xff0c;通过一个网络请求&#xff0c;将文件的数据携带过去&#xff0c;传递到服务器中&#xff0c;剩下的&#xff0c;在服务器中如何存储&#xf…...

golang gin——文件上传(单文件,多文件)

文件上传 单文件上传 从form-data获取文件 package uploadimport ("github.com/gin-gonic/gin""net/http" ) // 单文件上传&#xff0c;多文件上传 func Upload(c *gin.Context) {file, _ : c.FormFile("file") // file为字段名dst : "…...

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…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...