初始Python篇(1)——输入输出函数、数据类型、运算符

 找往期文章包括但不限于本期文章中不懂的知识点:

个人主页:我要学编程(ಥ_ಥ)-CSDN博客

所属专栏: Python

以B站up主:Python_子木的视频 :花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)为Python专栏博客的核心。 

Python随着编程技术的发展,也是越来越火爆。今天,我们就来学习Python的基础语法。

目录

前言

初始Python

运行Python程序

注释 

标识符和关键字

input 和 print 函数的使用 

print 函数的使用 

input函数的使用 

数据类型和变量

变量 

数据类型 

数值类型

字符串类型

布尔类型 

类型转换函数 

eval函数 

运算符

算术运算符 

赋值运算符 

比较运算符 

逻辑运算符 

位运算

移位运算符 

运算符的优先级


前言

Python相较于我们前面学习的C语言、Java有很大的不同。首先是语言本质上的不同:Java和C语言都是编译型的语言,而Python是解释型的语言。什么是编译型的语言呢?编译型的语言是指从源代码到可执行的程序,需要经过编译等手段处理。那什么是解释型语言呢?解释型语言是指从源代码到可执行的程序,不需要编译的过程,也就是说可以直接在源代码的基础之上进行运行。这种语言也被称为脚本语言。其次,就是Python的代码是非常简洁的,没有什么头文件、主函数等繁琐的东西。因此,执行Python代码的软件Pycharm,我们不叫作编译器,而是解释器,但是像:VS、IDEA这些都是被称为编译器。

有了前面两种语言的基础,学习Python这门语言也是非常容易上手的,下面我们就来正式学习。

初始Python

运行Python程序

同样我们也是从最简单的Hello World 走起:

print('Hello World')

从这里我们就可以看出来,Python语言的简洁性,没有main函数、头文件等这些繁琐的要求。甚至都没有'' ; ''这样的语句结束符。 

其打印函数就是 print ()  --- 括号内,就是我们要输出的内容,如果是字符串的话,就得用引号引起来。这里的引号可以是单引号、双引号、甚至是三引号。

注释 

在Python中注释分为两种:

1、单行注释:# 。从 # 开始到该行的末尾内容都会被视为注释,不会被Python解释器执行。

2、多行注释:

多行注释的方式有两种。一种是三个单引号,另一种是三个双引号。如下所示:

'''
这是其中一种多行注释:三个单引号
'''"""
这是另外一种多行注释:三个双引号
"""

多行注释也可以当作文档注释来用。 

标识符和关键字

Python中一共有35个关键字。可以使用下述代码进行查看:

import  keyword
print(keyword.kwlist) # 查看关键字

在Python中定义的标识符除了不能是关键字和数字开头之外,其余的都可以,甚至于使用中文当标识符也是可以的。

input 和 print 函数的使用 

print 函数的使用 

首先来了解 print 函数。和C语言、Java一样,这是一个输出函数。里面的内容就是写我们要输出的内容。

# 输出一个字符串类型
print('Hello World')
# 输出一个数字
print(9)

这个print 函数是Python中的一个内置函数。 其内部的实现如下:

这些参数我们也是可以修改的。

1、修改print的逗号代表(替换)值

# 修改前
print(1,2,3)
# 修改后
print(1,2,3,sep='') # 是其就是一个空字符(不是空格)

2、修改末尾换行操作

# 修改print的末尾换行
# 修改前
print('Hello')
print('World')
# 修改后
print('Hello',end='')# 是其就是一个空字符(不是空格)
print('World',end='')

文件写入操作等我们学习到文件的时候再去学习这个。 

注意:None 类似 C语言中的 NULL,但不完全一样。因为Python和Java一样是面向对象的语言,因此在Python中也流行着这样一句话:在Python中,一切皆对象。但是Python中的对象是带有布尔值的,None的布尔值就是False(后面会学习),这也就是和C语言中NULL的区别。

接下来开始学习input函数的使用。

input函数的使用 

和绝大多数语言Python也是有输入输出的,前面学习的print函数就是输出函数,这个input函数就是输入函数。而输入函数就是提示用户在命令行输入自己想要的内容。

name = '我要学编程'

input() 括号里面就是我们提示用户的输入信息,这个信息会被打印到命令行上面。并且接收的结果会有一个返回值,这里我们使用的print函数去打印这个返回值。

注意:input函数的返回值是一个字符串类型的值。

数据类型和变量

变量 

首先来学习Python中的变量。很简单只需要起一个变量名即可使用。

name = '我要学编程'

这里定义变量不需要申明类型,编译器会根据赋值的类型来判断当前的变量类型。同时这个变量的类型是可以实时发生变化的。

注意:变量的命名的硬性虽然要求没有C语言和Java那样严格(可以使用中文作为变量名),但是软性要求还是没有变化,还是要遵循我们的编码规范。 

数据类型 

Python中的数据类型主要分为四种:

数值类型

int 类型:Python 3中,整数的大小不受限制,它可以根据需要自动扩展内存空间。理论上,只
要内存足够,它可以表示任意大的整数。从这里可以看出Python不会出现溢出的情况。

float 类型:占用8字节,用于表示带小数部分的数值。

注意:Python中没有 double 类型的浮点数和long类型的整数。因为其语法规定了int 可以处理无穷大的数据,同样float 和double(C语言和Java中) 的功能是一样的。

字符串类型

只要是被引号引起的内容就都属于字符串。且这里的字符串可以进行相加和相乘的操作。

name = '我要学编程'
age = '18'
# 字符串相加操作
print(name+age)
# 字符串相乘操作
print(name*2) # 只能是字符串*数字,表示重复几次这个字符串

注意:在相加操作只能在字符串之间进行,一旦牵扯到其他的数据类型就会报错。

同样相乘操作也只是字符串和数字进行相乘,表示这个字符串重复几次。

另外字符串还有一个操作符 in 。

x in s 表示如果x是s的子串,结果为True,否则结果为False。

布尔类型 

在Python中使用布尔类型来表示真与假。与之对应的标识符为 True——真、False——假。

注意:

1、这里的True和False都需要首字母大写,和Java、C语言是有区别的。

2、True和False在和整数进行运算时,True都是被当作是1,False被当作是0的。

3、我们在前面学习了Python中一切皆对象,并且每一个对象都有与之对应的布尔值。怎么看这个布尔值呢?要通过一个内置函数 bool() 来查看这个对象对应的布尔值。

 下面演示部分情况(还有的后面学习了再去演示):

剩余的数据类型,我们以后再去学习。

既然有了这么多的数据类型,那也就有一些数据类型是相互之间可以转换的。

类型转换函数 

与C语言和Java一样,类型转换分为隐式转换和显式转换。但不同的是Java和C语言中的隐式转换是小类型数据转换为大类型数据,而Python中是指不使用类型转换函数的情况下,进行的类型转换(在进行计算时,小数据都会转换为大数据这是相同的)。同样Java和C语言中的显示类型转换是使用强制类型转换,而Python中是使用类型转换函数。

下面我们就来学习类型转换函数。

函数解释
int(x)将x转换为整数类型
float(x)将x转换为浮点数类型
str(x)将x转换为字符串
chr(x)整数x转换为一个字符
ord(x)将一个字符x转换为其对应的整数值(按照Unicode编码规则)
hex(x)将一个整数x转换为一个十六进制字符串
oct(x)将一个整数x转换为一个八进制字符串
bin(x)将一个整数x转换为一个二进制字符串

注意:

 这里在进行转换为数值类型的时候,其都必须满足只有数字(或数字字符)的情况下,否则会报错。

eval函数 

eval函数同样是Python中的内置函数。其作用是:去掉字符串最外侧的引号。一般是与输入函数input使用,特别是需要输入一个数字的时候,把数字的两侧引号去掉后,就变成了一个单独的数字。

注意:如果变量当中存储的是一个字符串,当我们把这个字符串两边的引号给去掉的时,可能会报错,需要慎重。

如果我们一旦定义了 我要学编程 这个变量之后,便不会发生报错了。 

其实说白了就是一个警告信息,告诉我们这个行为可能会有危险。 

运算符

算术运算符 

首先来学习算术运算符。

运算符解释
+加法运算
-减法运算
*乘法运算
/进行的是浮点数的除法运算(也就是最终的结果是浮点数)
//进行的是整数的除法运算(也就是最终的结果是整数)
%取余(拿到的是整数除法运算的余数)
**幂运算(也就是进行乘方运算)

主要演示和C语言、Java中不同的运算符:

想要具体了解这个近似值是怎么来的,可见下面的博客链接:数据在内存中的存储-CSDN博客

赋值运算符 

我们常用的赋值运算符就是 = 。这个也不用多说,相比大家都是知道的,但是除了简单的赋值之外还有一个复合赋值运算符。

运算符解释
a = 10简单的赋值
a += 10a = a + 10
a -= 10a = a -10
a *= 10a = a * 10
a /= 10a = a / 10
a %= 10a = a % 10
a **= 10a = a ** 10
a //= 10a = a // 10

这里对符合运算符就不做过多的解释和演示了。

优先级的问题:既然是算术运算,那肯定就有先后顺序的问题。

在Python中,运算符的优先级是 **     >      *、/、//、%      >      +、-

比较运算符 

比较运算符也叫作关系运算符,就是比较两者之间的关系的运算符。

运算符解释
>大于
<小于
==等于
!=不等于
>=大于或等于
<=小于或等于

这些运算符也是比较简单的,比较两个数值之间的关系即可。

注意:比较运算符得到的结果一定是布尔类型的值。即True 或者 False。

逻辑运算符 

这个逻辑运算符虽然运算的规则和Java、C语言是一样的,但是它们的长相不一样。来具体看看

运算符解释
and逻辑与
or逻辑或
not逻辑非

上面是Python中的逻辑运算符,下面是C语言和Java中的逻辑运算符。 

上面就是对逻辑运算符的解释说明了。

位运算

按位与(&): 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0。

按位或(|): 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1。

按位取反(~): 如果该位为 0 则转为 1, 如果该位为 1 则转为 0。

按位异或(^): 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1。

移位运算符 

左移(<<): 最左侧位不要了, 最右侧补 0。

右移(>>): 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)。

注意:

1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方。

2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方。

3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替。

4. 移动负数位或者移位位数过大都没有意义。

运算符的优先级

好啦!本期  初始Python篇(1)——输入输出函数、数据类型、运算符 的学习之旅就到此结束啦!我们下一期再一起学习吧!

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

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

相关文章

C++进阶 二叉搜索树的讲解

二叉搜索树的概念 二叉搜索树又称为二叉排序树。 二叉搜索树的性质 若它的左子树不为空&#xff0c;则左子树上所有结点的值都小于等于根结点的值若它的右子树不为空&#xff0c;则右子树上所有结点的值都大于等于根结点的值它的左右子树也分别为二叉搜索树二叉搜索树中可以支持…

vscode搭建ros开发环境问题记录(更新...)

文章目录 vscode 不能自动补全 开发环境&#xff1a; vmware 15.7 ubuntu 20.04 ros noetic vscode 不能自动补全 这里将头文件已经正确包含到c_cpp_properties.json中代码中仍然不能自动补全&#xff0c; 将C_CPP插件设置中的Intelli Sense Engine 设置为TagParser,然后重新加…

MySQL:基本查询操作

插入 基本插入语法&#xff1a; insert [into] 表名 (列1, 列2 ...) values (值1, 值2 ...); create table students( id int unsigned primary key auto_increment, sn int not null unique comment 学号, name varchar(20) not null, tel varchar(20) );一次性指定所有值&…

损耗金属件检测系统源码分享

损耗金属件检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

25达能笔试测评秋招校招认知和行为偏好测评题型分析

达能认知和行为偏好测评笔试测评用的游戏化测评数字推理&#xff0c;具体有四类&#xff1a; 职业行为测试&#xff1a;从选项中选择你更偏向的那个&#xff0c;在选择的时候就可以往达能的企业文化相关方向靠。 motion challenge&#xff1a;类似华容道呢&#xff0c;要用最…

18063 圈中的游戏

### 思路 1. 创建一个循环链表表示围成一圈的 n 个人。 2. 从第一个人开始报数&#xff0c;每报到 3 的人退出圈子。 3. 重复上述过程&#xff0c;直到只剩下一个人。 4. 输出最后留下的人的编号。 ### 伪代码 1. 创建一个循环链表&#xff0c;节点表示每个人的编号。 2. 初始…

初识软件测试

目录 一、什么是测试 1. 生活中的测试场景 2. 为什么需要软件测试 3. 软件测试定义 二、测试的岗位有哪些 1. 软件测试开发工程师 2. 测试工程师 &#x1f334;高频面试题&#xff1a; 三、软件测试和开发的区别 1. 工作内容 2. 难易程度上 3. 工作环境 4. Money …

【WPF】桌面程序开发之xaml页面绑定数据模型详解

使用Visual Studio开发工具&#xff0c;我们可以编写在Windows系统上运行的桌面应用程序。其中&#xff0c;WPF&#xff08;Windows Presentation Foundation&#xff09;项目是一种常见的选择。然而&#xff0c;对于初学者来说&#xff0c;WPF项目中xaml页面的布局设计可能是一…

java项目之在线考试与学习交流网页平台源码(springboot)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的在线考试与学习交流网页平台。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于JAVA语言…

C++数据结构-树的概念及分类介绍(基础篇)

1.什么是树 树是数据结构中的一种&#xff0c;其属于非线性数据结构结构的一种&#xff0c;我们前文所提到的数据结构多数都是线性的&#xff0c;这也是较为简单的数据结构&#xff0c;而接下来的树与图均属于非线性数据结构&#xff0c;也是概念极多的一类。 树是由结点或顶…

OSS对象资源管理

1、登录aliyun 1.1、什么是OSS&#xff1f;有什么用&#xff1f; OSS 是“Object Storage Service”的缩写&#xff0c;中文常称为“对象存储服务”。OSS 是一种互联网云存储服务&#xff0c;主要用于海量数据的存储与管理。 相较于nginx&#xff0c;OSS更灵活&#xff0c;不…

yolov8 pose姿态关键点识别动物姿态识别

导言 介绍了 Tiger数据集&#xff0c;这是一个专为姿势估计任务设计的多功能数据集。该数据集由来自YouTube 视频的 263 张图片组成&#xff0c;其中 210 张用于训练&#xff0c;53 张用于验证。它是测试姿势估计算法和排除故障的绝佳资源。 尽管虎姿态数据集只有 210 张图像…

AT89C51 Intel HEX手工结构分析 反汇编工具

在不查询格式情况下分析确定 Intel HEX 格式 Hex文件内容 :0300000002090BE7 :0C090B00787FE4F6D8FD7581080208F63C :01091700419E :1008F60078087C007D007BFF7A0979177E007F01EE :050906001208D080FE84 :10080000E709F608DFFA8046E709F208DFFA803EDA :1008100088828C83E709F0…

9.15 BFS中等 133 Clone Graph review 138 随机链表的复制

133 Clone Graph //错误代码class Solution { public:Node* cloneGraph(Node* node) {//邻接表、BFS---》类似于二叉树的层次遍历if(!node || !node->val) return node;//构造队列queue<Node*> prev;prev.push(node);//构造新的图结点列表vector<Node*> adjList…

用Spring Boot搭建的读书笔记分享平台

第1章 绪论 1.1课题背景 计算机的普及和互联网时代的到来使信息的发布和传播更加方便快捷。用户可以通过计算机上的浏览器访问多个应用系统&#xff0c;从中获取一些可以满足用户需求的管理系统。网站系统有时更像是一个大型“展示平台”&#xff0c;用户可以选择所需的信息进入…

framework解决权限不足无法安装apk

文件浏览器中安装apk权限不足 源码位置 base/services/core/java/com/android/server/uri/UriGrantsManagerService.java

java数据结构----图

图的存储结构: 代码实现 public class Graph {// 标记顶点数目private int V;// 标记边数目private int E;// 邻接表private Queue<Integer>[] adj;public Graph(int v) {V v;this.E 0;this.adj new Queue[v];for (int i 0; i < adj.length; i) {adj[i] new Queu…

初中(7-9年级)数学-人教版视频全套

文章目录 一、紧贴教材&#xff0c;内容全面二、生动讲解&#xff0c;易于理解三、灵活学习&#xff0c;随时随地四、获取方式 初中数学人教版视频全套&#xff0c;专为使用人教版教材的学生打造。通过高清视频、生动讲解和精准辅导&#xff0c;帮助学生轻松掌握数学知识点&…

系统架构设计师教程 第5章 5.2 需求工程 笔记

5.2 需求工程 ★★★★★ 软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。 软件需求包括3个不同的层次&#xff1a;业务需求、用户需求和功能需求(也包括非功能需求)。 (1)业务需求 (business requirement) 反映了组织机构或客户对系统、产品高层次的目标…

电信网络携手大模型:AI赋能网络运维的新范式

当电信网络用上大模型&#xff0c;会带来怎样的体验&#xff1f; 过去&#xff0c;网络出现问题时&#xff0c;运维人员需要依赖经验反复排查&#xff0c;找到“病根”后再“对症下药”。但在大模型的加持下&#xff0c;问题的解决方式发生了颠覆性的改变。 如今&#xff0c;…