python语言零基础入门——变量与简单数据类型

目录

一、变量

1.创建变量

2.变量的修改

3.变量的命名

(1)常量

(2)标识符

(3)关键字

(4)命名规则

二、简单数据类型

1.变量的数据类型

2.数据类型

3.整型(Integers)

4.浮点数(Floating point numbers)

5.布尔型(Boolean)

6.字符串(String)

(1)字符串运算

(2)索引

7.数据类型转换

8.进制的转换


一、变量

1.创建变量

变量名 = 变量值

# 多个变量的值相同
num1 = num2 = num3 = 10

# 多个变量的值不同,元组赋值
a, b = 10, 20

例如:

name = '-17'
age = 23
major = '计算机'

注:变量必须先定义后使用;“ = ”两边要留一个空格

小练习:苹果价格是10.5元/斤,购买7.5斤,计算付款金额。

# 任务:买苹果
price = 10.5
weight = 7.5
money = price * weight
print("总共消费了 %.2f 元" % money)

运行结果:

2.变量的修改:创建变量后,可以在代码中重新赋值。

year = 2023
print(year)
year = 2024
print(year)

money = '10元'
money = 10
print(money)

运行结果:

2023
2024
10

小练习:超市搞活动,消费立减5元,计算应付金额

price = 10.5
weight = 7.5
money = price * weight
money = money - 5
print("总共消费了 %.2f 元" % money)

运行结果:

总共消费了 73.75 元

3.变量的命名

(1)常量:程序在运行的过程中,值永远不会发生改变的量称之为常量。python没有专门的常量类型,一般约定俗成使用大写表示常量。例如:

PI= 3.1415926

(2)标识符:程序员定义的变量名、函数名,名字需要有见名知意的效。标识符命名规则:

  • 由字母、下划线和数字组成
  • 不能以数字开头
  • 不能与关键字重名

(3)关键字:python内部已经使用的标识符

  • False  None  True  and  as  assert  async  await  break  class  continue  def  del  elif  else  except  finally  for  from  global  if  import  in  is  lambda  nonlocal  not  or  pass  raise  return  try  while  with  yield

(4)命名规则(惯例,非强制)

第①种:每个单词都使用小写字母,单词与单词之间使用_下划线连接。例如:first_name、last_name、qq_number、qq_password

第②种:驼峰命名法

  • 小驼峰式命名法:第一个单词以小写字母开始,后续单词的首字母大写。例如:firstName、lastName
  • 大驼峰式命名法:每一个单词的首字母都采用大写字母。例如:FirstName、LastName、CamelCase

二、简单数据类型

1.变量的数据类型

  • 在Python中定义变量的不需要指定类型(在其他很多高级语言中都需要)
  • 可以使用type和isinstance来测试和判断数据类型
a = '123456'
print(type(a))
print(isinstance(a,str))

运行结果:

<class 'str'>
True

2.数据类型

数据类型解释举例
整型(Integers)表示整数,不带小数点例如:100。
浮点型(Floating point numbers)表示带有小数点的数字例如:15.20。
复数(Complex Numbers)表示带有实部和虚部的数字例如:3.14j。
布尔型(Boolean)表示真假。有两个值,True或False
字符串(String)一串字符例如:"Hello,World!”。
列表(List)有序的集合,可以包含任何数据类型例如:[1,'a',2.3]。
元组(Tuple)类似于列表,但不可变例如:(1,'a',2.3)。
集合(Set)无序且不重复的元素集合例如:{1,2,3}。
字典(Dictionary)键值对的集合例如:"'name':'John','age':30)。

3.整型(Integers):Python可以处理任意大小的整数,包括负整数

4.浮点数(Floating point numbers):由整数部分和小数部分组成。补充:

  • 向上取整 ceil
  • 向下取整 floor
  • 四舍五入 round
# 浮点数的计算
n1 = 0.125
n2 = 0.17
print("直接相加的结果是:",n1 + n2)

# 四舍五入round
n3 = round(n1+n2,2)  # 对n1+n2四舍五入,保留2位小数
print("四舍五入保留2位小数的结果是:",n3)

import math
# 向上取整 ceil
n4 = math.ceil(n1+n2)
print("向上取整的结果是:",n4)

# 向下取整 floor
n5 = math.floor(n1+n2)
print("向上取整的结果是:",n5)

运行结果:

直接相加的结果是: 0.29500000000000004
四舍五入保留2位小数的结果是: 0.3
向上取整的结果是: 1
向上取整的结果是: 0

5.布尔型(Boolean)

  • 布尔类型的变量只有True、False两种值。(大小写敏感
  • 作用:作为真假的判断。
  • 在python中,能够解释为假的值有:None、0、0.0、False、所有的空容器(空列表、空元组、空字典、空集合、空字符串)

6.字符串(String):字符串就是一串字符,是编程语言中表示文本的数据类型。

  • 在 Python 中可以使用一对双引号"或者一对单引号'定义一个字符串。
  • 字符串是以单引号或者双引号括起来的任意文本,也可以是以三引号'''或者"""引起来的任意文本。
# 单引号字符串
str1 = 'hello'
# 空串
str2 = str()
# 双引号字符串
str3 = "hello world"
# 三引号字符串多行字符串(保存原格式)
str4 ='''hello world
hello 2024'''
str5 = """hello 2024
hello world"""
str6 = '1234\'\"123'  # 打印带引号的内容

(1)字符串运算:

  • 字符串加法(字符串拼接)
  • 字符串乘法(重复字符串)
# 创建字符串
s1 = 'hello '
s2 = "-17 "
s3 = "good"
# 字符串拼接
print("字符串拼接:")
print(s1+s2+s3)

# 字符串乘法
print("字符串乘法:")
print(s1 * 3)
print('*' * 2)

运行结果:

字符串拼接:
hello -17 good
字符串乘法:
hello hello hello 
**

(2)索引:可以使用索引获取一个字符串中指定位置的字符,索引计数从0开始。

①切片索引:变量名[起始索引:结束索引+1:步数]

  • 步数默认为1,可省略不写
  • 起始索引默认为0,可省略不写
  • 结束索引默认为-1,可省略不写
s = "hello,-17"
print(s[0])
print(s[4])
print(s[-1])

print(s[6:9])  # 取 索引为6 到 索引为8的元素,包头不包尾
s2 = '123456789'
print(s2[0:9:2])
print(s2[:9:2])
print(s2[::2])

运行结果:

h
o
7
-17
13579
13579
13579

②字符串反转:

# 字符串反转
s2 = '123456789'
print(s2[-1:-10:-1])
print(s2[::-1])

运行结果:

987654321
987654321

7.数据类型转换

函数名函数值
int(x,[基数])将数字或字符串转换为整数,若x为浮点数,则自动截断小数部分
float(x)将x转换为浮点型
bool(x)转换成bool类型的True或False
str(x)将x转换成字符串

(1)转换为int

# 转换为int

# str -> int : 必须是纯数字的字符串
s = '2024'
n = int(s)
print(type(s),type(n))

# float -> int 
s1 = 5.17
print(int(s1))

# bool -> int
s2,s3 = True,False
print(int(s2),int(s3))

运行结果:

<class 'str'> <class 'int'>
5
1 0

(2)转换为float

# 转换为float

# str -> float :必须是纯数字的字符串
s = '2024' # 有没有小数点都可以
print((float(s)))

# int -> float :
n = 2024
print(float(n))

# bool -> float :
s1,s2 = True,False
print(float(s1),float(s2))

运行结果:

2024.0
2024.0
1.0 0.0

(3)转换为bool

#转换为bool

# str -> bool
s = 'cy-17'
print(bool(s))
s1 = ''  # 空格不是空串
print(bool(s1))

# int -> bool
n = 17
print(bool(n))
n1 = 0
print(bool(n1))

# float -> bool
f = 0.17
print(bool(f))
f1 = 0.0
print(bool(f1))

运行结果:

True
False
True
False
True
False

(4)转换为str

# 转换为str

# int -> str
n = 17
print(str(n))
print(type(str(n)))

# float -> str
f = 5.17
print(str(f))
print(type(str(f)))

# bool -> str
a = True
print(str(a))
print(type(str(a)))

运行结果:

17
<class 'str'>
5.17
<class 'str'>
True
<class 'str'>

8.进制的转换

s = '10'
print(int(s,2)) # 将S转为二进制数
s1 = '1a'
print(int(s1,16))  # 将S1转为十六进制数

运行结果:

2
26

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

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

相关文章

中断的设备树修改及上机实验(按键驱动)流程

写在前面的话&#xff1a;对于 GPIO 按键&#xff0c;我们并不需要去写驱动程序&#xff0c;使用内核自带的驱动程序 drivers/input/keyboard/gpio_keys.c 就可以&#xff0c;然后你需要做的只是修改设备树指定引脚及键值。 根据驱动文件中的platform_driver中的.of_match_tabl…

C++之类和对象三

目录 拷贝构造函数 定义铺垫 浅拷贝 深拷贝 总结 拷贝构造函数 那在创建对象时&#xff0c;可否创建一个与一个对象一某一样的新对象呢&#xff1f; 定义铺垫 构造函数&#xff1a;只有单个形参&#xff0c;该形参是对本类类型对象的引用(一般常用const修饰)&#xff0c…

2024年华中杯B题论文发布+数据预处理问题一代码免费分享

【腾讯文档】2024年华中杯B题资料汇总 https://docs.qq.com/doc/DSExMdnNsamxCVUJt 行车轨迹估计交通信号灯周期问题 摘要 在城市化迅速发展的今天&#xff0c;交通管理和优化已成为关键的城市运营问题之一。本文将基于题目给出的数据&#xff0c;对行车轨迹估计交通信号灯…

【1577】java网吧收费管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 网吧收费管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0…

一篇文章搞定Jenkins自动化部署JDK17+SpringBoot3.X+新版AlibabaCloud打包Docker镜像推送私有镜像仓库

&#x1f680; 作者 &#xff1a;“二当家-小D” &#x1f680; 博主简介&#xff1a;⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人&#xff0c;8年开发架构经验&#xff0c;精通java,擅长分布式高并发架构,自动化压力测试&#xff0c;微服务容器化k…

Redis中的订阅发布(二)

订阅与发布 订阅频道 每当客户端执行SUBSCRIBE命令订阅某个或某些频道的时候&#xff0c;服务器都会将客户端与被订阅的频道 在pubsub_channels字典中进行关联。 根据频道是否已经有其他订阅者&#xff0c;关联操作分为两种情况执行: 1.如果频道已经有其他订阅者&#xff0c…

微信小程序echart图片不显示 问题解决

目录 1.问题描述&#xff1a;2.解决方法&#xff1a;2.1第一步2.2第二步2.2效果 小结&#xff1a; 1.问题描述&#xff1a; echart图片不显示 图片&#xff1a; 2.解决方法&#xff1a; 2.1第一步 给wxml中的ec-canvas组件添加宽高样式&#xff1a;style"width: 100%…

图文教程 | Git安装配置、常用命令大全以及常见问题

前言 因为多了一台电脑&#xff0c;平时写一些代码&#xff0c;改一些文件&#xff0c;用U盘存着转来转去特别麻烦。于是打算用Git管理我的文件&#xff0c;方便在两个终端之间传输数据啥的。也正好给新电脑装好Git。 &#x1f4e2;博客主页&#xff1a;程序源⠀-CSDN博客 &…

MathType安装导致的Word粘贴操作出现运行时错误‘53’:文件未找到:MathPage.WLL

MathType安装导致的Word粘贴操作出现运行时错误‘53’&#xff1a;文件未找到&#xff1a;MathPage.WLL 解决方案 1、确定自己电脑的位数&#xff1b; 2、右击MathType桌面图标&#xff0c;点击“打开文件所在位置”&#xff0c;然后找到MathPage.WLL &#xff0c;复制一份进行…

深度 | 践行绿色健康可持续发展,这家企业提供了价值范本

文 | 螳螂观察 作者 | 余一 近段时间以来&#xff0c;小米SU7热度一直不减&#xff0c;在展露小米强大品牌号召力的同时&#xff0c;也侧面体现出了当前消费者对于新能源汽车的喜爱。 而消费者选择新能源汽车时&#xff0c;环保因素也起到了至关重要的作用。像前几日&#x…

PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询

云原生数据库PolarDB分布式版&#xff08;PolarDB for Xscale&#xff0c;简称PolarDB-X&#xff09;有极强的线性扩展能力&#xff0c;能够多写多读&#xff1b;它的全局索引能力&#xff0c;是分布式改造的利器&#xff0c;成功解决了传统分布式方案中多维度查询的难题&#…

探究欧拉恒等式的美学与数学威力

正如老子所述&#xff0c;“道生一&#xff0c;一生二&#xff0c;二生三&#xff0c;三生万物”&#xff0c;数学作为人类认知自然法则的语言&#xff0c;其数系的不断发展象征着对世界理解的深化。从自然数经由分数、无理数至复数&#xff0c;复数虽看似反直觉&#xff0c;却…

探索AI大模型:理论、技术与应用

引言 近年来&#xff0c;随着深度学习技术的迅猛发展&#xff0c;AI大模型已经成为人工智能领域的重要研究方向和热点话题。AI大模型&#xff0c;指的是拥有巨大参数规模和强大学习能力的神经网络模型&#xff0c;如BERT、GPT等&#xff0c;这些模型在自然语言处理、计算机视觉…

es安装中文分词器

下载地址&#xff0c;尽量选择和自己本地es差不多的版本 https://github.com/infinilabs/analysis-ik/releases 下载好&#xff0c;解压&#xff0c;把里面的文件放到es的plugins/ik目录下 把plugin-descriptor.properties文件里的es版本改成自己对应的 再启动es&#xff0c;能…

2W 3KVDC 隔离单、双输出 DC/DC 电源模块——TPH 系列

TPH系列是一款2W&#xff0c;单、双输出隔离电源模块&#xff0c;特别适合板上只有一种电压而要求有正负电源的场合&#xff0c;工业级温度范围–40℃到105℃&#xff0c;在此温度范围内都可以稳定输出2W&#xff0c;并且效率非常高&#xff0c;高达86%&#xff0c;温升非常低&…

OKCC搭建配置什么样的服务器合适

OKCC呼叫中心系统是一种采用软硬件结合的架构方式、及分布式的IP技术&#xff0c;从多角度为企业提供整合的一体化解决方案。因此&#xff0c;搭建OKCC呼叫中心系统所使用的服务器应该满足以下几点要求&#xff1a; 稳定性&#xff1a;服务器需要具有较高的稳定性和可靠性&…

MinIO + Prometheus + Grafana docker部署

文章目录 说明MinIO简介MinIO 容器化部署Prometheus服务地址配置方法一&#xff1a;先部署后修改方法二&#xff1a;部署时修改compose文件&#xff08;未验证&#xff09; MinIO Access Key配置Prometheus 容器化部署MinIO 生成抓取配置修改Prometheus配置文件Grafana 容器化部…

iframe和 blob实现JS,CSS,HTML直接当前页预览

先贴效果图&#xff1a; <template><div><div class"aaa"></div><div class"btn-run" click"tres">运行</div></div></template><script>import { mapState } from vuex;export default …

在线编辑器 CodeMirror

如何优雅的在网页显示代码 如果开发在线编辑器 引入资源&#xff1a; <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.60.0/codemirror.min.css"><script src"https://cdnjs.cloudflare.com/ajax/libs/c…

【网安小白成长之路】8.sql注入操作1

&#x1f42e;博主syst1m 带你 acquire knowledge&#xff01; ✨博客首页——syst1m的博客&#x1f498; &#x1f51e; 《网安小白成长之路(我要变成大佬&#x1f60e;&#xff01;&#xff01;)》真实小白学习历程&#xff0c;手把手带你一起从入门到入狱&#x1f6ad; &…