Python变量与基本数据类型

变量

变量可以理解为内存空间的门牌号

标识符

什么是标识符

标识符是自己定义的,如变量名、函数名等。

标识符命名规则

  • 只能包含字母、数字和下划线。变量名可以以字母或者下划线开头。但是不能以数字开头。
  • 不能包含空格,但可以使用下划线来分隔其中的单词。
  • 不能使用Python中的关键字作为变量名
  • 建议使用驼峰命名法,驼峰式命名分为大驼峰(UserName)和小驼峰(userName)。
  • 严格区分大小写

数据类型

Number

int

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样。

float

浮点数也就是小数,之所以成为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的。

complex

一个实数和一个虚数的组合构成一个复数。

bool

bool值是特殊的整型,取值范围只有两个值,也就是True和False

字符串

字符串就是一系列任意文本。Python中的字符串用单引号或者双引号括起来,同时可以使用反斜杠(\)转义特殊字符。

单引号(’’)和双引号(””)本身只是一种表示方式,不是字符串的一部分,因此字符串’hello’只有h,e,l,l,o这五个字符。如果’本身也是字符的话,那么就可以用””括起来,比如”I’m OK”当中包含一个’。如果字符串内部包含’或者”,但是又想当成普通字符串处理怎么办?这个时候就要用转义字符(\)来标识。

操作字符串

  • 截取字符串语法:变量[开始下标:结束下标:步长],步长可省略,其默认值为1。变量[-下标],从右往左截取下标位数。变量[下标:],从下标到最后。截取规则含头不含尾、包左不包右。
  • 加号(+)是字符串的连接符
  • 星号(*)表示复制当前字符串

字符串常用函数

find

检测字符串是否包含指定字符,如果是返回它的位置,否则返回-1

index

检测字符串是否包含指定字符,如果是返回开始的索引值,否则提示错误

count

返回str1在string中指定索引范围内[start,end]出现的次数

replace

将str中的str1替换成str2,如果指定count,则不超过count次

split

返回一个以切割符为分割的列表。如果maxsplit有指定值,则仅分割maxsplit个子字符串

capitalize

将字符串的首字母大写

title

将字符串中每个单词的首字母大写

upper

将字符串转换为大写

列表

列表是什么

列表是由一系列按特定顺序(系统给的默认下标)排列的元素组成,列表能存储多种类型的数据,其中的元素之间可以没有任何关系。

图 1 列表

 

访问列表

  • 通过下标:list[2]、list[2][0]。

操作列表

修改列表元素

修改列表元素的语法和访问列表元素的语法类似,指定列表名和要修改元素的索引,再指定新值。

list[0] = 5 #通过下标获取到元素,并给其赋新的值

list[2][1] = ’lili’#列表是一个可变的类型数据,允许我们对里面的元素进行修改

添加列表元素

  • 在列表末尾追加元素:使用append()方法将元素追加到列表的末尾。也可以用append()方法来动态创建列表。list.append(’susan’)
  • 在列表中插入元素:通过指定新元素的索引和值,使用insert()方法可以在列表的任何位置添加新元素。list.insert(1,’susan’)

删除列表元素

  • 使用pop()方法删除元素:pop方法用于移出列表中的一个元素(默认是最后一个元素),可以指定元素索引,并且返回该元素的值。
  • 使用del语句删除元素:如果知道要删除的元素在列表中的位置,可以使用del语句删除元素,元素一旦被删除之后就再也无法访问(从内存中将其删除)。del list[1]
  • 使用remove()方法删除元素:当不知道元素索引,只知道元素值的时候,使用remove方法删除元素。它是通过元素的值进行删除。

查找列表元素

所谓的查找,就是看看指定的元素是否存在。

  • in(存在),如果存在那么结果为true,否则为false。’jack’ in list
  • not in(不存在),如果不存在那么结果为true,否则为false。

列表函数

len(list)

查看列表的长度,返回列表元素的个数

max(list)

返回列表元素的最大值

min(list)

返回列表元素的最小值

list.count(obj)

统计某个元素在列表中出现的次数

extend(list)

扩展列表,在一个列表的末尾一次性追加一个新的列表,参数为一个列表

list.sort()

对列表进行排序

list.clear()

用于清空列表

元组

什么是元组

Python的元组和列表类似,不同之处在于元组的元素不能被修改,而列表的元素可以被修改,也可以进行分片和连接操作。元组用小括号创建,列表用方括号创建。元组是不可变类型。

元组名=(元素1,元素2,元素n……)

操作元组

访问元组

  • 通过下标:tup[1]

删除元组

  • 元组和列表不一样,元组中的元素是不允许被单独修改和删除的,但是我们可以使用del语句来删除整个元组。del 元组名

元组截取

  • 元组的元素虽然不能够被改变,但是元组也是一个序列,也可以通过索引去访问和截取元组中指定位置的元素。

多维元组

  • 多维元组就是元组中的元组,元组中的元素可以是一个新元组。

元组的函数

len()

获取元组的长度

tuple(list)

将列表转换为元组。需要重新赋值。

字典

字典是另一种可变容器类型,且可以存储任意类型对象。列表元素进行修改的话,通过索引进行修改,如果当前元素的顺序发生改变,此时还需要修改索引才能成功完成元素的修改。有没有办法,既能够存储多个数据,又能很方便准确的定位元素呢?答:字典

字典名={key1:value1,key2:value2}

操作字典

访问字典

  • 字典中根据键访问值,可以指定字典名和放在方括号内的键。dict[’ name’]

修改字典元素

  • 字典元素也是可以修改的,通过key找到具体元素之后,给一个新的元素值即可。dict[’ name’] = ’jack’

添加元素

  • 动态的向字典中添加元素的时候,只要添加的键在字典中不存在,就会新增这个元素。dict[’ hobby] = ’足球’

删除字典元素

  • 使用del语句删除元素:del既可以删除指定的字典元素(列表也可以指定),也可以删除整个字典,如果不指定key,代表删除整个字典。del字典名[key]
  • 使用clear()方法清空整个字典:被清空的字典最后会剩下一个空的字典在,而用del删除的字典在程序中就不存在了。字典名.clear()

Python字典函数

len(dict)

计算字典中元素的个数

str(dict)

输出字典,以可打印的字符串表示

type(variavle)

返回输入变量的数据类型,如果变量是字典就返回<class ’dict’>

dict.fromkeys(seq[,value])

创建一个新字典,以序列seq中元素做字典的值,value为字典所有键对应的初始值

dict.get(key,default=value)

如果字典中有该Key对应的元素,就输出原来的,如果没有就输出你指定的

dict.keys()

以列表返回一个字典所有的键

dict.values()

以列表返回一个字典所有的值

可变(mutable)参数和不可变(immutable)参数

Python中string、tuple和number是不可变对象,而dict、list等是可变对象,不可变对象在进行重新赋值的时候,实际上是将原始值丢弃,将变量指向一个新值(新的内存空间);可变对象的可变性实质上是指更改可变对象中的子对象,比如list中的item元素的更改。

深拷贝与浅拷贝

只有可变参数才存在深拷贝和浅拷贝的区别,不可变参数不存在深拷贝与浅拷贝的区别。

直接赋值

其实就是对象的引用(别名)。即通过等于号进行赋值时,a和b指向内存中的同一个地方,并没有再开辟新的内存空间。

浅拷贝

父对象指向不同的地址空间,但子对象指向相同的地址空间。不拷贝子对象,当子对象进行更改的时候,原始子对象也会改变。注:list为父对象,list[1]为子对象。常用操作:列表的切片操作,copy模块的copy()函数。

深拷贝

父对象指向不同的地址空间,子对象也指向不同的地址空间。会拷贝子对象,当子对象进行更改的时候,原始子对象不会改变。常见操作:copy模块的deepcopy()函数。

list02 = list01.copy.deepcopy()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值