小白入门python---day1_数据类型及运算符

本文详细介绍了Python的数据类型和运算符。数据类型包括数值型(整型、浮点型等)、字符型、序列类型(元组、列表等)、字典类型,还说明了类型转换方法。运算符涵盖赋值、算数、逻辑、关系等,同时介绍了特殊符号的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python的数据类型

在现实中,计算机处理的远不止数值,还要处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。
在Python中,能够直接处理的数据类型有以下几种:数值型、字符串型、列表型、元组型、字典型。

数值类型

即是数字类型,又细分为:整型,浮点型,长整型,复数型.

整型

整数类型的范围是2**32,其中包含正数和负数(2的31次方个正和2的31次方的个负数,所以它的范围是-2147483648 ——— 214748364。
  PS:查看一个数据的数据类型
  1. 使用type(数据)方法
  2. dir():获取对象的方法
3.PyCharm:按住command点击类型,即可查看源码。从源码中查看对象类型的方法。

In [1]: a=1
In [2]: type(a)
Out[2]: int    # int表示为整型
In [18]: type(2/1)
Out[18]: int

markdown未熟悉,见谅.

浮点型

浮点类型就是带小数点的,多余的位数会被四舍五入
整数和浮点数在计算机内部存储的方式是完全不同的,整数运算永远是精确的,除法也是精确的,而浮点数运算则可能会有四舍五入的误差。

长整型

用l或L表示,当我们赋值的时候使用l可以把变量赋值为长整型,注意在Python3中已经没有长整型!

复数型

用j表示,当我们赋值的时候使用j可以把变量赋值为复数型,python对复数提供内嵌支持。(其他大部分软件没有)
  复数一般用于科学计算,我们日常一般不会使用,这里知道即可。

In [20]: type(123j)
Out[20]: complex   # 表示复数类型

字符型

字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,“xyz"等等。
请注意,’'或”“本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。
如果’本身也是一个字符,那就可以用”"括起来,比如"I’m OK"包含的字符是I,’,m,空格,O,K这6个字符。
有三种方法定义字符串:单引号,双引号,三引号。
请注意,python里面单双引号都可以括字符串和字符,与C语言不一样
最后,三重括号(如’’’ ‘’’)可以表示注释!!!

字符串基本操作

索引

就是数组下标

In [3]: a='1234567'
In [4]: a[0] -->#下标从0开始,0表示第一个数
Out[4]: '1'
In [5]: a[3] -->#表示第四个数
Out[5]: '4'

补充:也可以从后面开始算,[-1]是最后一个

切片

就是截取变量,类似于数学的区间

In [14]: a='abcd'
In [15]: a[0:2]
Out[15]: 'ab'#从第0个开始截取2个字符,其中0可以省略
In [14]: a='abcd'
In [17]: a[1:]
Out[17]: 'bcd'
#从1开始截取到最后,省略的位置就当是到尽头的
字符串的内置操作

字符串是Python中的主要数据类型,其内置了非常多的方法,直接就可以在对字符串进行操作,主要方法如下:

capitalize
# 功能:首字母大写
# 调用方式:string.capitalize() 
# 例: 
name = 'hello' name.capitalize()
 #结果:
'Hello'

用法: string.casefold()
用法:string.lower()
用法:str.center(width,filechar=None)
用法:str.counter(sub,start=None,end=None)
用法:str.startswith(suffix,start=None,end=None)
用法:str.endswith(suffix,start=None,end=None)
用法:str.expendtabs(20)
用法:str. find(sub,start=None,end=None)
用法:str.format()
等等等,作用基本上看英文就懂了~

序列类型

字符串、列表和元组都是序列的一种,序列的两个主要特点是索引操作符和切片操作符
索引操作符让我们可以从序列中抓取要给特定的项目
切片操作符让我们能够获取序列的一个切片,即一部分操作(这个就是上述的字符串一个总结)

序列类型的基本操作

字符串、列表、元组的索引和切片又有些许不同
用法:len() 计算字符串长度
用法:+ 连接序列
用法:* 重复序列
用法:in 在序列中查找元素是否存在
用法:max(),min() 求最大最小值
用法:cmp() 比较序列是否相等,从左开始向右比对,前>后,返回1,前<后,返回-1,前=后,返回0,如果相等,则继续向右比对

元组(tuple)

元组tip:

元组可以存储一系列的值,使用()圆括号来定义。
被使用的元组的值不可以被改变,但是被使用前(定义时)可以任意修改.
元组也用来接受函数返回值.
支持元组内嵌套引用(包括全部引用和部分引用)

定义元组
t=(1,)#这就是一个元组了,类型是tuple
a=(t,1)#嵌套引用全部
b=(t[1],t,1)#嵌套引用部分

以上部分完全体现了python的原理:全部TM都是对象,都是指针!~

元组基本操作

支持操作如下:
1,拆分

a=('31','1800','26','2634')
first,second,_,last=a
 ##元组如果有n个元素,必须用1或n个定义来分割,我们可以用_,来获取不需要的数据,但是萝卜坑还是要填上的.
first
>>>31

2.查看,索引,统计出现次数,帮助
tab或者使用 dir(元组名)来查看元素
元组名.index(被索引元素,索引上限,索引下限)
##上下限如果省略则默认全元组索引
如果有直接return 下标位置(优先报第一个) 没有这个元素就报错
元组名.count(被统计元素) 有就返回次数,不存在就返回0
help(py万物)
查看使用方法和帮助

列表(list)

列表(类型为 list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。
列表是可变类型的数据,创建列表使用[]中括号。
列表的值是可以更改的.
列表可以包含变量,元组,列表等等.

列表基本操作

基本上面有的操作,列表都是一样.以下是部分操作
(一级或多级)列表名.append(追加元素元组) 列表末尾追加

In : b=[] # 定义一个空列表
In : a=[b,'123','456']
In : a
Out: [[], '123', '456']
In : a[0].append("linux")  # 向签到的b(空列表)中插入数据
In : a
Out: [['linux'], '123', '456']

列表名.remove(删除元素) 列表名.del(删除元素 或 变量索引) 列表内删除
列表名[索引]=KKK 支持直接修改
列表好像有个迭代相关操作,未完全熟悉,先占坑.

字典类型

使用{}大括号定义,是Python中唯一的映射类型(哈希表)

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。from 百度百科

字典索引不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值 称为“键-值”对。
字典对象是可变的,但是字典的键(key)必须使用不可变对象,一个字典中可以使用不同类型的key。
像元组,字符串等都是不可变的,都可以作为key。
而列表是可变的,无法作为key。
key是唯一的

字典操作

字典操作有点多,以下粘贴别人的总结,其它方法可以用dir(dict)查看

  1. keys() 获取字典的key
  2. values() 获取字典中所有的values
  3. items() 把字典转换成列表
  4. get() 如果字典中有该key,则返回key值,如果没有,则返回空,也可以自己定义返回值
  5. dic.get(‘Name’,‘python’),如果存在name,则返回values,否则返回Python
  6. has_key(‘key’) 判断key的是否存在,存在返回True,否则返回False
  7. dic1 = dic.copy() 拷贝字典到一个新的字典中去
  8. clear() 清除字典中的元素
  9. pop() 删除一个key,同时打印该key的value,如果key不存在,则返回keyerror,或者指定返回值 dic.pop(‘name’,True)
  10. update() 把一个字典更新(添加)到另一个字典中
  11. fromkeys(s,value) 把序列s,作为字典的key,如果不给value,则默认是none,如果指定value,那么所有key对应的值都为value

以上是常用操作,以下是某些方法举例:

for循环字典
  1. 遍历字典的key-value(键值对)
    其实dictionary相当于一栋楼,key就相当于门牌,value就是这间房子里面的租客.
for key,value indictionary.items(): 
##for遍历字典中具体的key和value,使用字典对象的items()方法获取字典的“键值对”列表。
           print(key,value)

  1. 遍历字典的项(键值对)
for item in dictionary.items(): 
##for遍历可以获取字典中的全部“键值对”,使用字典对象的items()方法获取字典的“键值对”列表。
     print(item)
  1. 遍历字典的value(值)或者 key (键)
for value '''key'''  indictionary.values '''keys''' ():
##通过for循环遍历可以获取字典中的具体的value(值)或者 key (键)。
      print(value'''key''')
字典基本定义格式

dictionary={‘key1’:‘V1’,‘key2’:‘V2’,‘key3’:‘V3’,}##注意逗号就好~

类型转换

Python内支持数据类型(瞎几把)互相转换,这个实现需要应用工厂函数:
str、list、dict、tuple等等。

  1. str() : 用于把整型、浮点型等转换为字符串
  2. list() : 用于把一个可迭代对象转换为列表
  3. dict() : 把一个可迭代对象(每次迭代返回两个数据),转换为字典
  4. tuple():把一个可迭代对象转换为元组

运算符

运算符:赋值运算符、算数运算符、关系运算符、逻辑运算符
表达式: 用运算符把数据连接起来的一种式子
PS:
支持各种按位运算,左移右移按位取反各种_过于底层,不太适合python

赋值

=表示赋值,其他的参考C语言,基本一样,但是Python下不用指定变量的类型,它会自动根据你赋值的类型来定,使用type(x) 来查看变量的类型。

算数

** 表示乘方 3**8 表示3的8次方(本校class viva也支持这种输入)
// 结果取整 如果结果是1.99,最后输出就是1
其他参考C语言,发挥想象力~~~~~

逻辑

返回值是布尔值:true 和 false
三种逻辑 and or not

关系

== >= !=这些,参考C语言吧

特殊符号

in/not in 检测一个元素是否在一个序列中
is /is not 测试两边的统一性(包括数据和数据类型)

内容概要:本文档详细介绍了基于事件触发扩展状态观测器(ESO)的分布式非线性车辆队列控制系统的实现。该系统由N+1辆车组成(1个领头车和N个跟随车),每辆车具有非线性动力学模,考虑了空气阻力、滚动阻力等非线性因素及参数不确定性和外部扰动。通过事件触发ESO估计总扰动,基于动态面控制方法设计分布式控制律,并引入事件触发机制以减少通信和计算负担。系统还包含仿真主循环、结果可视化等功能模块。该实现严格遵循论文所述方法,验证了观测误差有界性、间距误差收敛性等核心结论。 适合人群:具备一定编程基础,对非线性系统控制、事件触发机制、扩展状态观测器等有一定了解的研发人员和研究人员。 使用场景及目标:①研究分布式非线性车辆队列控制系统的理论与实现;②理解事件触发机制如何减少通信和计算负担;③掌握扩展状态观测器在非线性系统中的应用;④学习动态面控制方法的设计与实现。 其他说明:本文档不仅提供了详细的代码实现,还对每个模块进行了深入解析,包括非线性建模优势、ESO核心优势、动态面控制与传统反步法对比、事件触发机制优化等方面。此外,文档还实现了论文中的稳定性分析,通过数值仿真验证了论文的核心结论,确保了系统的稳定性和有效性。建议读者在学习过程中结合代码进行实践,并关注各个模块之间的联系与相互作用。
内容概要:本文档《c预约面试大全.pdf》汇集了大量C语言及其相关领域的面试问题与解答,涵盖了从基础概念到高级技巧的广泛知识点。主要内容包括但不限于:C语言的基础语法(如static关键字的作用、指针与引用的区别)、数据结构(如平衡二叉树、链表操作)、算法(如冒泡排序的时间复杂度)、计算机网络(如TCP/IP协议栈)、操作系统(如进程和线程的区别)、内存管理(如堆栈差异)等方面。此外,还涉及了一些较为复杂的主题,例如位域的应用、编译原理中的预编译概念、以及针对特定问题的编程实现(如寻找数组中的重复数字、实现约瑟夫环问题等)。每个问题都配有详细的解释或代码示例,旨在帮助求职者全面准备C语言相关的技术面试。 适合人群:正在准备C语言及相关领域(如嵌入式开发、系统编程)工作的求职者,尤其是有一定编程基础但缺乏实战经验的技术人员。 使用场景及目标:①帮助读者深入理解C语言的核心概念和技术细节;②通过实际案例分析提升解决复杂问题的能力;③为参加各类技术面试做好充分的知识储备和心理准备。 其他说明:此文档不仅包含了理论知识,还提供了大量实战练习的机会,鼓励读者动手实践,从而更好地掌握所学内容。同时,文档中的问题难度逐步递增,适合不同层次的学习者按需选择。由于C语言是许多高级编程语言的基础,因此这份资料对于想要深入学习计算机科学的学生也非常有价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值