Python语言基础学习(上)

目录

一、常量和表达式

二、变量和类型

2.1  认识变量

2.2  定义变量

2.3  变量类型

   1、整数 int

2、浮点数(小数)float

3、字符串 str

4、布尔类型

2.4 类型转换

三、注释

3.1 单行注释

3.2 文档注释(或者多行注释)

四、输入输出

4.1 通过控制台输入

4.2 通过控制台输出

五、运算符

5.1 算术运算符

5.2 关系运算符

5.3 逻辑运算符

5.4 赋值运算符


一、常量和表达式

1 + 2 - 3 在编程语言中称为 表达式 ,   其运算结果 称为 表达式的返回值
其中 1 , 2 , 3 这种称为 字面值常量 , + - * / 这种称为 运算符 或者 操作符 .
(**表示求次方,如a**2表示a的平方,a**3表示a的3次方,a**b表示a的b次方)

print(1 + 2 - 3)
print(1 * 2 / 3)
print(1 + 2 * 3)

注意: 熟悉 C / Java 的同学可能认为, 2 / 3 结果为 0 (小数部分被截断). 但是在 Python 中得到的结果则是一个小数. 更符合日常使用的直觉

二、变量和类型

2.1  认识变量

变量就是把一个数值使用一个变量名来表示,这个变量名我们就通常叫做变量。

例如求四个分数的平均值:给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的平均值。

avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
print(avg)

注意:avg在这个表达式中就是一个变量

2.2  定义变量

       a = 10
创建变量的语句非常简单 , 其中
a 为变量名 . 当我们创建很多个变量的时候 , 就可以用名字来进行区分 .
= 为赋值运算符 , 表示把 = 右侧的数据放到 = 左侧的空间中 .
定义变量的名字必须遵守规则:
  1. 变量名由数字字母下划线构成.
  2. 数字不能开头.
  3. 变量名不能和 "关键字" 重复.
  4. 变量名大小写敏感. num 和 Num 是两个不同的变量名.

2.3  变量类型

       在Python中,变量类型主要有整数 int、浮点数(小数)float、字符串 str、布尔类型

   1、整数 int

a = 10
print(type(a))# print和type都是Python里面的内置函数,print为打印函数,type为查看变量类型

2、浮点数(小数)float

a = 10.25
print(type(a))

注意点:Python 的小数只有 float 一种类型, 没有 double 类型。但是实际上 Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数

3、字符串 str

使用 ' ' 或者 " " 引起来的 称为 字符串, 可以用来表示文本。
a = "你好啊!"
print(type(a))#可以使用 len 函数来获取字符串的长度,只能用于字符串
a = 'hello'
print(len(a))
注意 : 在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别 . 'hello' "hello" 是 完全等价的.
       
        1、可以使用 + 针对两个字符串进行拼接 .
        2、Python中字符串拼接只能字符串与字符串拼接,不能字符串与整数、浮点数、布尔类型进行拼接,否则会报错
异常注意点:

4、布尔类型

布尔类型是一个特殊的类型 , 取值只有两种 , True ( ) False ( )。
注意点:Java、C++中与Python的布尔类型不同。
             Java、C++的布尔类型是true、false,Python的布尔类型是True、Flase  (Python 的首字母需要大写)
a = True
print(type(a))

2.4 类型转换

在Python里面,如果想要把一个整数或者浮点数转换为字符串,则使用str(), 字符串转换为整数,则使用int(),  字符串转换为浮点数,则使用float()

a = 1234
print(type(a)) # 整数
a = str(a)  # 整数转换为字符串
print(type(a)) # 字符串b = 123.36
print(type(b))
b = str(b)  # 浮点数转换为字符串
print(type(b))c = "123"
c = int(c)
print(type(c))

三、注释

3.1 单行注释

使用 # 开头的行都是注释 .

3.2 文档注释(或者多行注释)

  • 可以包含多行内容,
  • 一般放在 文件/函数/类 的开头.
  • """ 或者 ''' 均可 (等价)
# 这是单行注释"""
多行注释
"""'''
多行注释
'''

四、输入输出

4.1 通过控制台输入

python 使用 input 函数 , 从控制台读取用户的输入, 此时 input 输入的数据默认 str类型 。( 牢记
如果需要将输入的数据转化为int类型或者float类型,就可以使用 类型转换方法 进行转换, 使用int()或者float()

4.2 通过控制台输出

Python 使用 print 函数 输出到控制台。
若我们想要输出一个字符串加变量的形式输出到控制台上,此时就可以使用    f'num = {num}形式。

五、运算符

5.1 算术运算符

+ (加)、 - (减)  、 * (乘) 、 / (除) 、 % (取模)、 ** (求乘方)、 // (整除)    这种进行算术运算的运算符 , 称为 算术运算符。

注意点1: /  中不能用 0 作为除数,否则会 抛出异常

print(10 / 0)

注意点2:  整数 / 整数   结果可能是小数. 而不会截断 (与Java和C++有区别,注意区分

注意点3:  ** 是求乘方不光能算整数次方, 还能算小数次方

注意点4: // 是整除,  整数除以整数, 结果还是整数(舍弃小数部分, 向下取整. 不是四舍五入)

5.2 关系运算符

<、<=、 >、 >=、 ==、 !=   这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系.

  • <= "小于等于"
  • >= "大于等于"
  • == "等于"
  • != "不等于"
(1) 如果关系符合 , 则表达式返回 True. 如果关系不符合 , 则表达式返回 False
a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

(2) 关系运算符不光针对整数 / 浮点数进行比较 , 还能针对字符串进行比较。
字符串比较大小规则是 "字典序",Java里面的字典序比较是使用compareTo()方法
a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

(3) 对于浮点数来说 , 不要使用 == 判定相等, 因为 浮点数相加有小数精度问题需要考虑

print(0.1 + 0.2 == 0.3)     结果是False

注意 : 浮点数在计算机中的表示并不是精确的 ! 在计算过程中 , 就容易出现非常小的误差 .
print(0.1)
print(0.2)
print(0.3)
print(0.1 + 0.2)

5.3 逻辑运算符

Python中 and 、or、 not 这一系列的运算符称为 逻辑运算符 . 在 Java和C++中逻辑运算符为 && 、|| 、! ,我们需要注意区别。

  • and 并且. 两侧操作数均为 True, 最终结果为 True. 否则为 False. (一假则假)
  • or 或者. 两侧操作数均为 False, 最终结果为 False. 否则为 True. (一真则真)
  • not 逻辑取反. 操作数本身为 True, 则返回 False. 本身为 False, 则返回 True

  • 对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.
  • 对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.

5.4 赋值运算符

(1)   = 的使用
= 表示赋值 . 这个我们已经用过很多次了, 注意和 == 区分。 = 表示把数值进行赋值,==表示判断数值是否相等
链式赋值
a = b = c = 10
多元赋值
a,b,c = 10,20,30

交换两个变量:

#方式一
a = 10
b = 20
tmp = a
a = b
b = tmp
print(a,b)# 方式二
a = 10
b = 20
a,b = b,a
print(a,b)
(2) 复合赋值运算符
Python 还有一些 复合赋值运算符, 例如 +=  -= *= /= %=
其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理。
注意 : C++ / Java , 存在 ++ 、 -- 这样的自增 / 自减运算符。 Python 中则不支持这种运算, 如果需要使用 , 则 直接使用 += 1 或者 -= 1(牢记)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QML配合VTK基本实现

采用 QT5.15 VTK9.2.0 建立QT QUICK项目 部分方法来源于 QML加载VTK main.cpp #include <QGuiApplication> #include <QQmlApplicationEngine>#include <QQuickVTKRenderWindow.h> #include <QQuickVTKRenderItem.h> #include <vtkPolyDataMapp…

[MRCTF2020]Ez_bypass1 and [网鼎杯 2020 青龙组]AreUSerialz1()php语言基础学习,以及序列化概念的基本了解

1.[MRCTF2020]Ez_bypass1 &#xff08;1&#xff09;打开环境后它是一串很长并且看起来非常混乱的代码&#xff0c;看不懂那咱就先不管&#xff0c;直接查看源码 &#xff08;2&#xff09;看了之后可以发现它涉及到很多东西 首先就是要进行一个仔细的代码审计&#xff0c;分…

Windows11 同时安装jdk8和jdk17 可切换

Windows11 同时安装jdk8和jdk17 可切换 死忠于JDK8的码农们&#xff0c;可能不得不做出一些改变的 因为在springboot3最低也是只能用17 并且最近如果创建springboot项目的时候&#xff0c;你会发现&#xff0c;最低也是17的 并且&#xff0c;如果使用springcloud开发&#x…

LeetCode 每日一题 ---- 【2105. 给植物浇水 II】

LeetCode 每日一题 ---- 【2105. 给植物浇水 II】 2105.给植物浇水II方法&#xff1a;模拟双指针 2105.给植物浇水II 方法&#xff1a;模拟双指针 今天是给植物浇水II&#xff0c;昨天是I&#xff0c;本质上和昨天的没有区别&#xff0c;都是模拟&#xff0c;今天额外需要注意…

网络相关指令linux指令该怎么使用 - telnet

Telnet 指令使用方法 Telnet 是一种用于远程登录服务器的协议。以下是一些常见的 Telnet 指令及其用途。 基本指令 telnet [主机名或IP地址] [端口] 功能&#xff1a;连接到指定的远程主机和端口。示例&#xff1a;telnet example.com 23 Telnet 内部指令 c - close 功能&…

Linux vscode push报错fatal: Authentication failed

注意啊&#xff0c;Git基于密码的身份验证已经被删除了&#xff0c;所以这个报错发生时无论密码正确与否&#xff0c;以及参考比较旧的改bug教程&#xff0c;都没法提交。进入提示的网址&#xff0c;生成个人访问令牌就好了

Vue中引入Element组件、路由router、Nginx打包部署

目录 1、Element-ui(饿了么ui) 演示&#xff1a; 怎么打开NPM脚本&#xff1f; Vue路由router Nginx打包部署Vue-Cli项目 1、Element-ui(饿了么ui) element-ui(饿了么ui)是一个非常好用且美观的组件库(插件库)&#xff0c;主要用于网站快速成型&#xff0c;由国产团队饿了么…

设置多用户远程登录windows server2016服务器

1、远程登录windows server 2016 运行—>mstsc—>远程IP地址—>用户和密码 2、远程windows服务器设置多用户策略 运行—>gpedit.msc->计算机配置—管理模板—windows组件—远程桌面服务—远程桌面会话主机----连接,如下图所示: 1、《限制连接的数量》设置为…

2024-AIDD-人工智能药物设计-基于深度学习的胶质母细胞瘤靶点蛋白的识别与药物设计

UniProt搜索胶质母细胞瘤相关蛋白&#xff1a;从UniProt数据库查找胶质母细胞瘤相关的蛋白质数据是一个很好的开始&#xff0c;这可以帮助你识别与疾病相关的关键蛋白。 疾病与中药交集分析&#xff1a;研究中药&#xff08;如益气解毒方&#xff09;与胶质母细胞瘤的关系&…

Mybatis高效批量插入实战:五种策略全面解析

在现代应用开发中&#xff0c;数据处理常常涉及大量数据的插入操作&#xff0c;特别是在数据迁移、日志记录、统计分析等场景中。Mybatis作为Java领域广泛使用的持久层框架&#xff0c;其批量插入功能对于提升数据插入效率至关重要。本文将深入探讨Mybatis实现批量插入的五种策…

网络安全基础

目录 概述 1. 需求 2. 密码学 3. 保密 4. 数字签名 5. 身份认证 6. 对称密钥分配及管理 7. 公钥认证及PKI 8. 网络安全协议标准 结语 概述 在当今数字化时代&#xff0c;网络安全是任何组织和个人都必须重视的重要问题。从个人隐私到商业机密&#xff0c;网络安全的基…

DenseCLIP论文讲解

文章目录 简介方法总体框架 &#xff08;Language-Guided Dense Prediction&#xff09;上下文感知提示 &#xff08;Context-Aware Prompting&#xff09;应用实例 论文&#xff1a;DenseCLIP: Language-Guided Dense Prediction with Context-Aware Prompting 代码&#xff1…

【Linux-I.MX6ULL裸机学习】中断向量表

代码来自于正点原子阿尔法Linux开发板光盘 比如在中断向量表中规定了&#xff1a;在某个地址0x80000A对应着某个中断服务函数&#xff0c;那么在产生这个中断时&#xff0c;就会从0x80000A这个地址去读取中断服务函数&#xff0c;并执行。 如果想改变这个地址&#xff0c;也就是…

DOTCPP题目 2782: 整数大小比较

一、题目 题目描述 输入两个整数&#xff0c;比较它们的大小。 输入格式 一行&#xff0c;包含两个整数x和y&#xff0c;中间用单个空格隔开。 0 < x < 2^32, -2^31 < y < 2^31。 输出格式 一个字符。 若x > y&#xff0c;输出 > &#xff1b; 若x y&#x…

27、Qt自定义标题栏

一、说明 QtWidget及其子类有默认的标题栏&#xff0c;但是这个标题栏不能美化&#xff0c;有时候满足不了我们的使用需求&#xff0c;所以进行自定义标题栏 二、下载图标 在下面的链接中下载两种颜色的最大化、向下还原、最大化和关闭八个图片&#xff0c;并找一张当做图标…

【ITK配准】第二十一期 Demons变形配准

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK配准中Demons变形配准,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录 前言 Demons…

Spring 框架中用到的设计模式

概述 1.工厂模式:BeanFactory 2.代理模式 AOP动态代理 3.单例模式:spring中bean都是单例模式&#xff0c;bean默认都是单例的 4.模板方法:postProcessorBeanFactory, onRefresh&#xff0c;initpropertyValue 5.观察者模式:listener,event,multicast 6.适配器模式:Adapter 7.装…

shell基础知识

一.Shell概述 Shell是一个命令行解释器,它接收用户命令,然后调用操作系统内核 二.Shell解析器 cat /etc/shells echo $SHELL 三.Shell脚本入门 #!/bin/bash bash helloworld.sh chmod 777 helloworld.sh 四.Shell中的变量 echo $HOME | $PWD | $SHELL | $USER set 显示当前Shel…

使用GitLab自带的CI/CD功能在K8S集群里部署项目(四)

前置内容&#xff1a; 通过Docker Compose部署GitLab和GitLab Runner&#xff08;一&#xff09; 使用GitLab自带的CI/CD功能在本地部署项目&#xff08;二&#xff09; 使用GitLab自带的CI/CD功能在远程服务器部署项目&#xff08;三&#xff09; 一、K8S集群信息 节点名称…

基于springboot+vue+Mysql的体质测试数据分析及可视化设计

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…