妙不可言的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),又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串
如:
Python中,字符串需要用双引号(")包围起来,或者说被引号包围起来的,都是字符串
基于print语句完成各类字面量输出
print(字面量),如:
了解注释的作用
注释:在程序代码中对程序代码进行解释说明的文字。
作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性
注释的分类
单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
# 单行注释
print("HelloWorld!")
多行注释: 以 一对三个双引号 引起来 ( )来解释说明一段代码的作用使用方法
"""
多行注释
诗名:悯农
作者:李绅
"""
print("锄禾日当午")
print("汗滴禾下土")
print("谁知盘中餐")
print("粒粒皆辛苦")
变量
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的
变量的定义格式:
变量名称 = 变量的值
每一个变量都有自己的名称,称之为:变量名,也就是变量本身
赋值,表示将等号右侧的值,赋予左侧的变量
每一个变量都有自己存储的值(内容),称之为:变量值
变量的特征
变量,从名字中可以看出,表示“量”是可变的。
所以,变量的特征就是,变量存储的数据,是可以发生改变的。
变量的目的是存储运行过程的数据
存储的目的是为了:重复使用
变量命名规范
变量名
类名
方法名
不同的标识符,有不同的规范。
我们目前只接触到了:变量
见名知意,下划线命名法,英文字母全小写
变量命名规范 - 见名知意
变量的命名要做到:
明了:尽量做到,看到名字,就知道是什么意思,
简洁:尽量在确保“明了”的前提下,减少名字的长度。
变量命名规范 - 下划线命名法
多个单词组合变量名,使用下划线做分隔。
变量命名规范 - 英文字母全小写
命名变量中的英文字母,应全部小写。
数据类型
数据是有类型的。
目前在入门阶段,我们主要接触如下三类数据类型:
类型 | 描述 | 说明 |
string | 字符串类型 | 用引号引起来的数据都是字符串 |
int | 整型(有符号) | 数字类型,存放整数 如 -1,10, 0 等 |
float | 浮点型(有符号) | 数字类型,存放小数 如 -3.14, 6.66 |
string、int、float这三个英文单词,就是类型的标准名称。
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 为10的20次方, 输出结果 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ÿ…...
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模板标签模块,…...
手把手教你从零开始腾讯云服务器部署(连接建站教程)
使用腾讯云服务器搭建网站全流程,包括轻量应用服务器和云服务器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:外边距合并 当两个相领的两个容…...
机器学习:决策树
决策树 决策树是一种基于树形结构的模型,决策树从根节点开始,一步步走到叶子节点(决策),所有的数据最终都会落到叶子节点,既可以做分类也可以做回归。 特征选择 根节点的选择该用哪一个特征呢ÿ…...
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在哪里呢?<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…...
网络安全面试题汇总(附答案)
作为从业多年的网络安全工程师,我深知在面试过程中面试官所关注的重点及考察的技能点。网络安全作为当前信息技术领域中非常重要的一部分,对于每一个从事网络安全工作的人员来说,不仅需要掌握一定的技术能力,更需要具备全面的综合…...
Centos7安装kvm,配置虚拟机网络
1.安装软件包,禁用防火墙(非必须) yum -y install qemu-kvm libvirt virt-install 1)禁用防火墙(非必须) systemctl stop firewalld systemctl disable firewalld 2)禁用NetworkManager syst…...
Javascript文件上传
什么是文件上传 文件上传包含两部分, 一部分是选择文件,包含所有相关的界面交互。一部分是网络传输,通过一个网络请求,将文件的数据携带过去,传递到服务器中,剩下的,在服务器中如何存储…...
golang gin——文件上传(单文件,多文件)
文件上传 单文件上传 从form-data获取文件 package uploadimport ("github.com/gin-gonic/gin""net/http" ) // 单文件上传,多文件上传 func Upload(c *gin.Context) {file, _ : c.FormFile("file") // file为字段名dst : "…...
面试题:Redis和MySQL的事务区别是什么?
大家好,我是小米!今天我要和大家聊聊一个在技术面试中经常被问到的问题:“Redis和MySQL的事务区别是什么?”这个问题看似简单,但实际上涉及到了数据库和缓存两个不同领域的知识,让我们一起来深入了解一下吧…...
Canvas绘图
Canvas绘图 Canvas的意义 随着前端的不断发展,页面特效越来越炫酷,W3C组织也不断退出新的CSS特性:例如各种渐变,瀑布流布局,各种阴影,但是随着需求越来越花哨,W3C表示:我去你妈的&…...
逻辑回归评分卡
文章目录 一、基础知识点(1)逻辑回归表达式(2)sigmoid函数的导数损失函数(Cross-entropy, 交叉熵损失函数)交叉熵求导准确率计算评估指标 二、导入库和数据集导入库读取数据 三、分析与训练四、模型评价ROC曲线KS值再做特征筛选生成报告 五、行为评分卡模型表现总结 一、基础知…...
DPDK系列之三十三DPDK并行机制的底层支持
一、背景介绍 在前面介绍了DPDK中的上层对并行的支持,特别是对多核的支持。但是,大家都知道,再怎么好的设计和架构,再优秀的编码,最终都要落到硬件和固件对整个上层应用的支持。单纯的硬件好处理,一个核不…...
LVGL_基础控件滚轮roller
LVGL_基础控件滚轮roller 1、创建滚轮roller控件 /* 创建一个 lv_roller 部件(对象) */ lv_obj_t * roller lv_roller_create(lv_scr_act()); // 创建一个 lv_roller 部件(对象),他的父对象是活动屏幕对象// 将部件(对象)添加到组,如果设置了默认组,…...
王道考研操作系统——文件管理
磁盘的基础知识 .txt用记事本这个应用程序打开,文件最重要的属性就是文件名了 保护信息:操作系统对系统当中的各个用户进行了分组,不同分组的用户对文件的操作权限是不一样的 文件的逻辑结构就是文件内部的数据/记录应该被怎么组织起来&…...
商业智能系统的主要功能包括数据仓库、数据ETL、数据统计输出、分析功能
ETL服务内容包含: 数据迁移数据合并数据同步数据交换数据联邦数据仓库...
基于帝国主义竞争优化的BP神经网络(分类应用) - 附代码
基于帝国主义竞争优化的BP神经网络(分类应用) - 附代码 文章目录 基于帝国主义竞争优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.帝国主义竞争优化BP神经网络3.1 BP神经网络参数设置3.2 帝国主义竞争算…...
将python项目部署在一台服务器上
将python项目部署在一台服务器上 1.服务器2.部署方法2.1 手动部署2.2 容器化技术部署2.3 服务器less技术部署 1.服务器 服务器一般为:物理服务器和云服务器。 我的是物理服务器:这是将服务器硬件直接放置在您自己的数据中心或机房的传统方法。这种方法需…...
【C语言】善于利用指针(二)
💗个人主页💗 ⭐个人专栏——C语言初步学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读:1. 字符指针1.1 字符串的引用方式1.2 有趣的面试题 2. 数组指针2.1 一维数组指针的定义2.2 一维数组…...
做亚马逊有哪些网站可以清货/seo的内容主要有哪些方面
1、找比自己大5~15年的人占卜;不是要复制他的经历,而是超越他的经历。我发现自己一生最容易犯的错误就是尝试在达到一个高度前,超越这个高度。 因此要向任何过来人请教,学习他们的经验,避免他们的错误。 2、…...
wordpress图床推荐/电商怎么注册开店
这款软件批量操作加好友,可以日加上千好友。 如果加的人精准的话,一天1000好友,随便买什么都能够赚的不错的收入。 如果按照市场上的粉丝价格来看的话,一个粉丝最低是1元左右,贵点的几块、几十块。 一般女粉比男粉更…...
wordpress uncategorized/腾讯朋友圈广告代理
git branch -b newbranch //创建并切换到newbranch分支下 git push origin newbranch //推送到远程仓库的newbranch分支下,没有就创建...
前端小程序开发流程/宁波关键词优化企业网站建设
一、月报: 1.一月、二月 初入新公司,还在试用期;进的外包安卓手机升级项目,是一个短期的项目,3-4个月左右;第一次了解到外包项目原来是这种模式:建立黄区,电脑用远程桌面登录&#…...
建站公司 网络服务/线上营销推广
转载注:在研究 Vector 的 Iterator 时,迭代器内指针的类型是Allocator中定义的pointer Allocator是C语言标准库中最神秘的部分之一。它们很少被显式使用,标准也没有明确出它们应该在什么时候被使用。今天的allocator与最初的STL建议非常不同&…...
做外贸的国际网站有哪些/网站设计是做什么的
概率导论-基础部分笔记心得1.概率模型样本空间概率律概率率模型-离散模型古典概型条件概率全概率定理和贝叶斯准则独立性2.离散随机变量分布列伯努利分布列随机变量的函数期望均值方差多个随机变量的联合分布在某个条件下的随机变量独立性3.连续随机变量分布函数F(X)正态分布(高…...