python入门篇02- 注释,变量,数据类型,运算符及条件控制语句

目录

  • 1. 前言:
  • 2. python基础使用
    • -> 2.1 注释的使用
      • ---> 2.1.1 单行注释
        • 示例:
      • ---> 2.1.2 多行注释
    • -> 2.2 变量
      • ---> 2.2.1 整数类型/浮点类型/字符串类型
      • ---> 2.2.2 变量的简单使用
      • ---> 2.2.3 查看类型与类型转换
      • ---> 2.2.4 变量命名语法规则
      • --->2.2.5 数学(算术)运算符
        • =>代码如下
        • =>结果如下
    • -> 2.3 字符串相关操作
      • ---> 2.3.1 字符串定义的三种操作
      • ---> 2.3.2 字符串拼接
        • ps: 特殊情况(报错原因)
      • ---> 2.3.3 字符串格式化
        • 方法一: 使用%s占位符号
        • 方法二: 快速格式化方式 f 与{任意类型} 组合
      • ---> 2.3.4 字符串格式化-数字精度控制 `%m.nf`
      • --->2.3.5 浮点数四舍五入的问题
        • -> 丢失精度问题( python写法)
        • -> 丢失精度问题(java写法)
        • ->丢失精度解释:
    • -> 2.4 控制台输入 input()方法
      • ---> 2.4.1 控制台输入方式一:
      • ---> 2.4.2 控制台输入方式二:
    • ->2.5 布尔类型和运算
      • ---> 2.5.1 定义布尔变量
      • ---> 2.5.2 比较运算符使用
        • 代码如下:
    • -> 2.6 if else elif 条件使用方式
      • ---> 2.6.1 if 语句使用
      • ---> 2.6.2 if else条件使用
      • ---> 2.6.3 if elif else 条件使用
    • -> 2.7 随机数方法 random.randint(a,b)
  • 3. 前面语法的总结案例
    • -> 3.1 超市的收银系统(控制台版)
    • -> 3.2 python专栏地址


本文正式使用markdown编辑器编写

1. 前言:

===> 传送门: python基础环境配置

2. python基础使用

-> 2.1 注释的使用

—> 2.1.1 单行注释

使用#表示 注意空格 不然会有警告

示例:

 # 我是单行注释
print("helloword")
print("helloword")

—> 2.1.2 多行注释

使用"“” 表示

"""
     python入门01
     我是多行注释
"""

-> 2.2 变量

—> 2.2.1 整数类型/浮点类型/字符串类型

# 整数类型
666
# 浮点数字类型
13.14
# 字符串类型
"张三峰"

—> 2.2.2 变量的简单使用

定义变量 随便写名 不用像java声明类型

# 
money = 666
apple = 10
print("钱是多少: -> ", 666)

# 正常计算
print("剩余余额: ", money - apple, "元")

—> 2.2.3 查看类型与类型转换

查看类型方式 type(变量)
类型转换方式: str(),float(),int()

# 类型转换 (执行效果跟java类似 除了语法略有不同
"""int float str 相互转换"""
num = 123
str1 = "张三"
print(type(num))
# 转换string
print(type(str(num)))
# 转换float
print(type(float(num)))
# 转换int
print(type(int(num)))

测试报错
ValueError: invalid literal for int() with base 10: ‘张三’ `
print(type(int(str1)))

—> 2.2.4 变量命名语法规则

  1. 变量名大小写敏感,区分命名
  2. 只能字母、下划线开头,不能数字开头。
  3. 变量名不能有空格,可以用下划线
  4. python关键字,函数不能用
  5. 变量名见名知意 下划线命名 中英数字下划线
# 语法规则
# 1_a= 0
a_1 = 0
_a = 0

# 变量名大小写敏感
apple = 1
Apple = 2
print(apple)
print(Apple)

# 关键字敏感
# class = 1

—>2.2.5 数学(算术)运算符

名称符号
+
-
*
/
整除//
取余%
平方**

=>代码如下

print("1+1 = ", 1 + 1)
print("2-1 = ", 2 - 1)
print("3*1 = ", 3 * 1)
print("41/2 = ", 41 / 2)
print("5//2 = ", 5 // 2)
print("8%3 = ", 8 % 3)
print("8**3 = ", 8 ** 3)

# 赋值运算符 += -= *= /= %= **= //=
num = 1
num += 1
print("num += 1: ", num)

=>结果如下

1
2
1+1 =  2
2-1 =  1
3*1 =  3
41/2 =  20.5
5//2 =  2
8%3 =  2
8**3 =  512

-> 2.3 字符串相关操作

—> 2.3.1 字符串定义的三种操作

name = '张三'
print(name)
name = "李四"
print(name)
name = """王五"""
print(name)

—> 2.3.2 字符串拼接

单引号与双引号组合使用方式 与java一样 转移符 "\"

nick_name = "张三'123'"
print(nick_name)
nick_name = '张三"123"'
print(nick_name)
nick_name = "张三\"123\""
print(nick_name)

ps: 特殊情况(报错原因)

TypeError: can only concatenate str (not "int") to str

字符串拼接 (这种方式 只有字符串类型才可以进行拼接 数字类型不可以 (与java不同)

—> 2.3.3 字符串格式化

方法一: 使用%s占位符号

# 字符串格式化 不同占位符 %s(字符串) %d(整数) %f(浮点数) (与java略不同)
username = "李四"
age = 18
habit = "睡觉"
money = 20.05
# print("姓名: " + username + " 年龄: " + age)  # 不可以
print("姓名: " + username + " 年龄: " + str(age))  # 可以

# 使用占位符 字符串格式化
print("姓名:%s, 年龄: %s, 喜好: %s" % (username, age, habit))

print("姓名:%s, 年龄: %d, 喜好: %s" % (username, age, habit))

print("姓名:%s, 零花钱: %f, 喜好: %s" % (username, money, habit))

方法二: 快速格式化方式 f 与{任意类型} 组合

print(f"姓名:{name}, 年龄: {age}, 喜好: {habit}")

# 表达式的格式化 可以不使用变量
print(f"姓名:{name}, 年龄: {age * 100}, 喜好类型是: {type(habit)}")

—> 2.3.4 字符串格式化-数字精度控制 %m.nf

print("数字是112 宽度1 是 %1d" % 112)
print("数字是11.345 宽度7 小数2 是 %7.2f" % 11.345)

—>2.3.5 浮点数四舍五入的问题

-> 丢失精度问题( python写法)

特殊情况 11.23 (float类型并不准确 二进制转换问题,可能存在四舍五入不正确情况)

#结果是11.23 没有四舍五入
print("数字是11.235 宽度不限制 小数2 是 %.2f" % 11.235)

-> 丢失精度问题(java写法)

System.out.printf("%.2f%n", 11.235F);

->丢失精度解释:

在《Effective Java》这本书中也提到这个原则,floatdouble只能用来做科学计算或者是工程计算,在商业计算中我们要用 (java)java.math.BigDecimal

-> 2.4 控制台输入 input()方法

类似java的Scanner简化版

—> 2.4.1 控制台输入方式一:

# 控制台输入方式一:
print("姓名是什么???")
name = input()
print(f"您输入的名字是{name}")

—> 2.4.2 控制台输入方式二:

注意: input()收集的都是str类型 类型转换不对 会报错

#控制台输入方式二: (输入的类型就是字符串 需要什么类型就转换一下)
name = input("姓名是什么???\n")
print(f"您输入的名字是: {name}")
print(f"您输入的类型是: {type(name)}")
print(f"您输入的类型是: {type(int(name))}")  # 需要转换成数字就转换一下
age = input("你的年龄是: \n")
print(f"您输入的年龄是: {age}")

print("您的名字是: %s, 您的年龄是: %s" % (name, age))

->2.5 布尔类型和运算

—> 2.5.1 定义布尔变量

True 和 False , type类型是 bool

bool_1 = True
bool_2 = False
# bool_1的变量内容是: True,类型是<class 'bool'>
# bool_2的变量内容是: False,类型是<class 'bool'>
print(f"bool_1的变量内容是: {bool_1},类型是{type(bool_1)}")
print(f"bool_2的变量内容是: {bool_2},类型是{type(bool_2)}")

—> 2.5.2 比较运算符使用

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

代码如下:

num1 = 1
num2 = 2
print(f"num2==num1是: {num1 == num2}")  # False
print(f"num2!=num1是: {num1 != num2}")  # True
print(f"num2>=num1是: {num1 >= num2}")  # False
print(f"num2<=num1是: {num1 <= num2}")  # True
print(f"num2>num1是: {num1 > num2}")  # False
print(f"num2<num1是: {num1 < num2}")  # True

name = "张三"
name1 = "张三"
print(f"num2==num1是: {name == name1}")  # True

-> 2.6 if else elif 条件使用方式

—> 2.6.1 if 语句使用

num1 = 1
if num1 > 0:
   print("num1>0成立")
print("必然执行代码!")

—> 2.6.2 if else条件使用

num1 = 1
if num1 > 0:
    print("ok")
else:
    print("error")

—> 2.6.3 if elif else 条件使用

if num1 > 0:
    print("big")
elif num1 == 0:
    print("same")
else:
    print("small")

-> 2.7 随机数方法 random.randint(a,b)

随机1-10 a = 1 b = 10 需要导包import 一下

# import random 导包
num = random.randint(1, 10)
print(num)

3. 前面语法的总结案例

-> 3.1 超市的收银系统(控制台版)

python版与java版 看看两种语言基础的区别
===> 传送门: python入门篇03 基础案例 python版与java版

-> 3.2 python专栏地址

===> 传送门: python语言基础专栏


书写不易, 第一篇使用markdown书写, 确实比富文本的编辑器舒服许多, 上手难度会略高于富文本, 不过也还好
作者pingzhuyan 感谢观看
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[uni-app] uview封装Popup组件,处理props及v-model的传值问题

文章目录 需求及效果遇到的问题解决的办法偷懒的写法 需求及效果 uView(1.x版本)中, 有Pop弹出层的组件, 现在有个需求是,进行简单封装,有些通用的设置不想每次都写(比如 :mask-custom-style"{background: rgba(0, 0, 0, 0.7)}"这种) 然后内部内容交给插槽去自己随…

高级艺术二维码制作教程

最近不少关于二维码制作的&#xff0c;而且都是付费。大概就是一个好看的二维码&#xff0c;扫描后跳转网址。本篇文章使用Python来实现&#xff0c;这么简单花啥钱呢&#xff1f;学会&#xff0c;拿去卖便宜点吧。 文章目录 高级二维码制作环境安装普通二维码艺术二维码动态 …

RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景

作者&#xff1a;隆基 本文将从技术角度了解 RocketMQ 的云原生架构&#xff0c;了解 RocketMQ 如何基于一套统一的架构支撑多元化的场景。 文章主要包含三部分内容。首先介绍 RocketMQ 5.0 的核心概念和架构概览&#xff1b;然后从集群角度出发&#xff0c;从宏观视角学习 R…

SpringCloud中 Sentinel 限流的使用

引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>手动编写限流规则&#xff0c;缺点是不够灵活&#xff0c;如果需要改变限流规则需要修改源码…

ForkJoinPool 你真的明白和用对了吗

ForkJoinPool 是一个功能强大的 Java 类&#xff0c;用于处理计算密集型任务&#xff0c;使用 ForkJoinPool 分解计算密集型任务&#xff0c;并并行执行它们&#xff0c;能够产生更好的性能。它的工作原理是将任务分解成更小的子任务&#xff0c;使用分而治之的策略进行操作&am…

动手学深度学习—卷积神经网络LeNet(代码详解)

1. LeNet LeNet由两个部分组成&#xff1a; 卷积编码器&#xff1a;由两个卷积层组成&#xff1b;全连接层密集块&#xff1a;由三个全连接层组成。 每个卷积块中的基本单元是一个卷积层、一个sigmoid激活函数和平均汇聚层&#xff1b;每个卷积层使用55卷积核和一个sigmoid激…

强训第31天

选择 传输层叫段 网络层叫包 链路层叫帧 A 2^16-2 C D C 70都没收到&#xff0c;确认号代表你该从这个号开始发给我了&#xff0c;所以发70而不是71 B D C 248&123120 OSI 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 C 记一下304读取浏览器缓存 502错误网关 编…

349. 两个数组的交集 题解

题目描述&#xff1a;349. 两个数组的交集 - 力扣&#xff08;LeetCode&#xff09; 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 方法一&#xff1a; 解题思路&#xff1a; 我们可以…

时序数据库influxdb笔记

官方资料 https://docs.influxdata.com/influxdb/v2.7/install/?tLinux https://www.influxdata.com/influxdb/ 安装 1、linux平台下 1&#xff09;下载 2&#xff09;解压 3&#xff09;添加账户&#xff08; adduser influx&#xff09; 4&#xff09;设置目录权限 5…

缺少或找不到vcruntime140_1.dll的解决方法

某天&#xff0c;当我准备打开电脑上的一个应用程序时&#xff0c;突然收到一个错误提示&#xff0c;显示缺少了vcruntime140_1.dll文件。这个文件是一个重要的系统组件&#xff0c;它的丢失导致了我无法正常运行该应用程序。于是&#xff0c;我开始了一场寻找和修复旅程。然而…

RFID技术助力汽车零配件装配产线,提升效率与准确性

随着科技的不断发展&#xff0c;越来越多的自动化设备被应用到汽车零配件装配产线中。其中&#xff0c;射频识别&#xff08;Radio Frequency Identification&#xff0c;简称RFID&#xff09;技术凭借其独特的优势&#xff0c;已经成为了这一领域的重要技术之一。本文将介绍RF…

【BUG】docker安装nacos,浏览器却无法访问到页面

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…

go 协程并发数控制

错误的写法&#xff1a; 这里的<-ch 是为了从channel 中读取 数据&#xff0c;为了不使channel通道被写满&#xff0c;阻塞 go 协程数的创建。但是请注意&#xff0c;go workForDraw(v, &wg) 是不阻塞后续的<-ch 执行的&#xff0c;所以就一直go workForDraw(v, &…

数学建模之“灰色预测”模型

灰色系统分析法在建模中的应用 1、CUMCM2003A SARS的传播问题 2、CUMCM2005A长江水质的评价和预测CUMCM2006A出版社的资源配置 3、CUMCM2006B艾滋病疗法的评价及疗效的预测问题 4、CUMCM2007A 中国人口增长预测 灰色系统的应用范畴大致分为以下几方面: (1&#xff09;灰色关…

js简介以及在html中的2种使用方式(hello world)

简介 javascript &#xff1a;是一个跨平台的脚本语言&#xff1b;是一种轻量级的编程语言。 JavaScript 是 Web 的编程语言。所有现代的 HTML 页面都使用 JavaScript。 HTML&#xff1a; 结构 css&#xff1a; 表现 JS&#xff1a; 行为 HTMLCSS 只能称之为静态网页&#xff0…

IronPDF for .NET Crack

IronPDF for .NET Crack ronPDF现在将等待HTML元素加载后再进行渲染。 IronPDF现在将等待字体加载后再进行渲染。 添加了在绘制文本时指定旋转的功能。 添加了在保存为PDFA时指定自定义颜色配置文件的功能。 IronPDF for.NET允许开发人员在C#、F#和VB.NET for.NET Core和.NET F…

批量提取文件名到excel,详细的提取步骤

如何批量提取文件名到excel&#xff1f;我们的电脑中可能存储着数量非常多的电子文件&#xff0c;现在需要快速将这些文件的名称全部提取到Excel中。虽然少量数据可以通过复制粘贴的方式轻松完成&#xff0c;但是对于上万个数据而言&#xff0c;复制粘贴都是行不通的&#xff0…

改进YOLO系列:2.添加ShuffleAttention注意力机制

添加ShuffleAttention注意力机制 1. ShuffleAttention注意力机制论文2. ShuffleAttention注意力机制原理3. ShuffleAttention注意力机制的配置3.1common.py配置3.2yolo.py配置3.3yaml文件配置1. ShuffleAttention注意力机制论文 论文题目:SA-NET: SHUFFLE ATTENTION …

【CSS动画02--卡片旋转3D】

CSS动画02--卡片旋转3D 介绍代码HTMLCSS css动画02--旋转卡片3D 介绍 当鼠标移动到中间的卡片上会有随着中间的Y轴进行360的旋转&#xff0c;以下是几张图片的介绍&#xff0c;上面是鄙人自己录得一个供大家参考的小视频&#x1f92d; 代码 HTML <!DOCTYPE html>…

计算机视觉--距离变换算法的实战应用

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 计算机视觉CV是人工智能一个非常重要的领域。 在本次的距离变换任务中&#xff0c;我们将使用D4距离度量方法来对图像进行处理。通过这次实验&#xff0c;我们可以更好地理解距离度量在计算机视觉中的应用。希望大家对计算…