当前位置: 首页 > 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 : "…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...