网络编程
位置:首页>> 网络编程>> Python编程>> 学好python基本数据类型

学好python基本数据类型

作者:有理想、有本领、有担当的有志青年  发布时间:2023-07-24 21:48:40 

标签:python,基本,数据类型

一、基本用法

1.注释

Python中,#+语句 即为一条注释,也可以用 ‘'‘注释块 '''


#人生苦短,我用Python

2.输出

Python中,print()为输出函数


print("Hello World!")

3.变量

什么是变量?

内存空间及存储的值:

num = 10 的理解

将10赋值给名叫num的变量的内存空间中

4.命名规范

  • 变量名可以使用字母,数字,下划线“_”,

  • 不能以数字开头

  • 严格区分大小写

  • 不要使用中文

  • 不要使用关键字

另外 变量的命名规范适用于脚本名称和后期的函数名及其它命令规范

5.变量的定义方式

Python中,定义变量不需要说明数据类型


#第一种 变量定义方式
a = 10
b = 20
#第二种定义方式
a,b = 30,40

思考:如何实现 以下两个变量的数据相互交换


# 定义两个变量
a = 10
b = 20
'''
普通方式,完成变量数据的交换
c = a
a = b
b = c
'''
# 利用python定义比变量的语法来实现 变量的数据交换
a,b = b,a

二、python的数据类型

type() 函数,可以返回当前的数据类型

  • 数据类型分类

  • 字符串 string

  • 数字类型 Number

  • 整型 int

  • 浮点 float

  • 复数

  • 布尔 bool

  • 列表 list

  • 元组 tuple

  • 字典 dict

  • 集合 set

可变数据类型:列表,字典,集合
不可变数据类型: 字符串,数字,元组

容器类型数据 : 字符串,列表,元组,集合,字典
非容器类型数据: 数字,布尔类型

1.字符串类型

  • 单双引号都可以定义字符串,需手动换行

  • 三引号可以定义自动换行的字符串

  • 引号可以互相嵌套,但不能嵌套本身

  • 字符串中可以使用转义字符,如 \r \n \t

  • 如果不想在字符串中实现转义字符可以在字符定义时 加 love = r'\nihao \shijie'
       


# 定义方式就是使用 单引号 或者 双引号
love = 'iloveyou'
hello = "你好 世界"
# 也可以使用三引号实现大字符串的定义,一般用于大文本字符串的定义,并且大字符串,可以换行
s = '''
比如说这一个
很长很长的文章内容。。。
'''

2.数字类型


# 数字类型 Number
'''
int   整型
float 浮点类型
complex 复数
bool  布尔类型可自动转化为数字类型(True 1,False 0)
'''
varn = 521
varn = -1111
varn = 3.1415926
varn = 0x10  # 十六进制
varn = b'001100111' # bytes
# 复数
varn = 5+6j  # complex
# 数值类型可以参与运算
a = 10
b = 20
print(a+b)

3.List列表类型

  • 列表用来表示一系列数据

  • 列表中存储的数据可以是任意类型的

  • 使用中括号进行定义 [],

  • 每个数据之间使用逗号分隔 ,

  • 列表中存储的每一组数据,称为元素

  • 通过下标获取元素

  • 列表中有列表称为二级列表或多级列表


'''
关于列表中的下标
 0   1   2    3    4
['a','b',521,'pai',3.1415926]
-5   -4   -3  -2   -1
'''

4.tuple 元组类型的定义

  • 元组使用小括号进行定义()

  • 元组与列表唯一的区别就是值不能被改变


vart = (1,2,3,'a','b')
# 元组的其它定义方式
vart = 1,2,3

注意:在定义元组时,如果元组中只有一个元素,那么需要加“,”不然就不是元组类型了


vart = (1,)

5.Dict字典类型

  • 使用**大括号 {}**来定义

  • 字典是 键值对 的存储方式 name admin

  • 键必须是字符串或数字类型,值可以是任意类型

  • 键名不能重复,值可以重复


# 比如需要记录一本书的相关数据 书名,作者,价格,。。。
vard = {'title':'<<鬼谷子>>','author':'鬼谷子','price':'29.99'}
# print(vard,type(vard))
# {'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'} <class 'dict'>
# 获取字典中的值
print(vard['title'])
# 字典中的键不能重复使用,否则会覆盖
vard = {'a':10,'b':10,'c':20,'a':'aa',1:'abcdef','2':'2222'}
# print(vard)

6.set集合类型

  • set集合是一个 无序且元素不重复的 集合的数据类型

  • set集合使用 中括号或者set()方法来定义

  • 如果需要定义一个空集合时 只能使用 set()方法,因为大括号时定义的空字典

  • 集合主要用于运算,交集,差集,并集,对称集合


a = {1,2,3,'a'}
# 给集合添加元素
# a.add('b')
# 无法获取集合中的单个元素,但是可以添加和删除
# a.discard('a')
# print(a)
# 检查当前的元素是否在集合中
# print(1 in a)
# 集合主要用于运算,交集,差集,并集,对称集合
a = {1,2,3,'a','b'}
b = {1,'a',22,33}
print(a & b) # 交集  {1, 'a'}
print(a - b) # 差集 {'b', 2, 3}  a 集合有,b集合没有的
print(a | b) # 并集 {1, 2, 3, 33, 'a', 'b', 22} 两个集合,放到一起,并且去重
print(a ^ b) # 对称差集 {33, 2, 3, 'b', 22}

7.数据类型转换

什么是数据类型转换?

  • 把一个数据类型转换为另一个数据类型,例如 字符串转为数字

为什么需要数据类型转换?

  • 因为不同的数据类型之间不能运算

数据类型转换的形式?

  • 自动类型转换

  • 强制类型转换

8.自动类型转换

当两个不同的值进行运算时,结果会向更高的精度进行计算True ==> 整型 ==> 浮点 ==> 复数
在和数字运算时 True转为数字1,False转为数字 0

9.强制类型转换

python中的每个数据类型都有对应的方法,可以对数据类型进行转换

  • str()

  • int() 字符串为纯数字可转换 容器类型不能转为数字int类型

  • float() 转换规则和int类型相同,结果是浮点类型

  • bool() 可以把其它类型转换布尔类型的True或False

  • False: '',0,0.0,False,[],{},(),set()

  • list() 列表 / tuple() 元组 / set() 集合

数字类型不能转换

字符串转换时 把每一个字符当作一个元素

三者可以相互转换,转化为集合时结果是无序的

字典 不完全转换,只保留了字典中的键

dict() 字典

  • 数字类型 非容器类型,不能转换为 字典

  • 字符串不能直接转换为 字典

  • 列表/元组可以转换为字典,要求是一个二级列表/元组,并且每个二级元素只能有两个值

来源:https://blog.csdn.net/ngtnmd/article/details/122050393

0
投稿

猜你喜欢

  • asp之家注:为什么要防止访客频繁刷新页面呢?也许你会说他想刷新就让他刷新吧,没什么关系,而且还增加了网页的PV,呵呵。但是有的页面我们可能
  • 一、问题的提出随着互连网的发展,网站的数量以惊人的数字增加。网站的作用除了给广大网友们提供信息资讯服务外,还应该成为网友们上传与下载文件的场
  • 当浏览者进入你的网站首页时或提交某些表单时,会弹出网站声明或提交说明等文本信息框,引导浏览者使用你的网站。实现这个功能我们是用Dreamwe
  • 今天发现了一个显示ORACLE语法的好网站。内容太多,就不一一摘录了,记在这里,也方便自己查找。http://ss64.com/ora/ 目
  • 手痒痒系列之简单的放大镜写了个放大镜功能,可以设置显示的宽高width,height显示的位置,float ‘left’ 'righ
  • 本文实例讲述了Python常用模块sys,os,time,random功能与用法。分享给大家供大家参考,具体如下:sys:介绍:主要包含涉及
  • 注册模块default.asp 代码如下:<!DOCTYPE html PUBLIC "-//
  • 1.新建四个层,放入相应图片,模特层的z-index值设为0。2.把第一个层移到模特身上,找出衣服刚好穿上时层的top和left值,记下来,
  • redis无法访问本机真实ip地址1.我在进行用jedis来连接redis时出现了问题:我用Jedis jedis = new Jedis(
  • 很神奇的一个晚上,居然在以前老同事的群里跟同事讨论起CSS的东西来了,不过很意外的还是有收获。在IE中常常会碰到如果将容器定位后,出现容器内
  • 大家都知道select的优先权比较高,CSS不宜控制,而且还能遮挡层的正常显示!那么我们就来模拟一个!这样样式就可以随心所欲了(若您看不到效
  • PHP chr() 函数实例从不同 ASCII 值返回字符:<?php echo chr(52) . "<br>
  • 在线阅读与印刷品阅读有着很大的不同,原因之一是屏幕会导致注意力问题。文字很难成为重点,而闪烁的横幅、明亮的图片又更加会转移对实际的博客内容的
  • 在 Web 编辑器领域,CKEditor – 七年的专注,赢取的是王者风范。TinyMCE – 五年前的小家碧玉,如今已成长为大家闺秀。Go
  • 在一行内声明CSS,对比下面两个:h2 {font-size:18px; border:1px solid&n
  • 首先忠心感谢凌宇5942给我的帮助!在他的启迪下我发现了另一种实现flash透明背景的办法,愿与大家共同探讨:凌宇5942告知的解决办法:在
  • 开放源代码社区为了扩展MySQL的使用范围,开发出了.Net框架(.NET Framework)中可以使用的数据库连接器。我们就来学习一下如
  • 优秀的Stoyan Stefanov在他的新书中(《Javascript Patterns》)介绍了很多编写高质量代码的技巧,比如避免使用全
  • 本文将介绍在InterDev中实现网上商店购物车功能的方法,具体步骤如下:一、 数据库结构:产品数据表(Products): 存放产品信息产
  • 有时候,我们在某一重要的时间段需要监控某张表的变化情况,包含插入、更新、删除。举例来说,当我们把数据导出到外部的系统时,我们希望导出的是全部
手机版 网络编程 asp之家 www.aspxhome.com