通过上篇文章的讲解已经和大家交流了Python的数据类型和变量。尤其是字符串和数字类型在平时的使用频率最高。这里给大家提个醒,一定要多多练习,掌握不同数据类型的使用场景。本次主要讲解其他数据类型的使用及转换函数和运算符的使用。具体内容如下:
1、数据类型详解
2、数据类型转换
3、运算符详解
4、运算符优先级
字符串在平常编程过程中经常使用,尤其是对字符串进行处理时。我们在做数据分析时经常对字符串进行截取。
例如:
lisi@163.com 邮箱地址。我们想定义一个字符串变量,取出lisi用户名。
可以通过下标进行取出。
email = 'lisi@163.com'
print(email)
# lisi@163.com
print(email[0])
# l
print(email[0:4])
# lisi
在Python中通过索引和【】来截取字符串的内容。
语法结构是str[头坐标:尾坐标],也可以是str[坐标]
截取字符串时从指定索引位置开始,不包含尾坐标的内容。
email = 'lisi@163.com'
print(email[0])
# l
print(email[1:])
# isi@163.com
print(email[5:])
# 163.com
当然也可以通过[坐标:]来实现从某个位置截取后续所有的字符串内容。
print(email[1:])
# isi@163.com
print(email[5:])
# 163.com
print(email[-4:])
# .com
print(email[-1:])
# m
print(email[:-4])
# lisi@163
通过以上的例子大家只要能够掌握开头索引和结尾索引的规律。就能够轻松的截取字符串中指定的内容。
列表是Python中使用最频繁的数据类型。可以存储字符、数字、字符串、甚至是列表类型的数据。列表通过[ ]标识来截取相应的内容。
例如:一条商品记录,存储到一个列表中。
myList = ['iPhone12', 'iMac', 'oppo', 'HuaWei', 'XiaoMi']
print(myList[0])
# iPhone12
print(myList[0:3])
# ['iPhone12', 'iMac', 'oppo']
print(myList[2:])
# ['oppo', 'HuaWei', 'XiaoMi']
列表的索引从左到右是从0开始,从右到左是从-1开始。相信通过上面字符串的对比,很容易掌握。接下来我在介绍一下列表的一些特殊操作。 +是列表的连接运算,*是重复操作
例如:
myBook = ['Python数据分析入门与实战']
print(myBook)
# ['Python数据分析入门与实战']
print(myBook + myList)
# ['Python数据分析入门与实战', 'iPhone12', 'iMac', 'oppo', 'HuaWei', 'XiaoMi']
print(myBook * 3)
# ['Python数据分析入门与实战', 'Python数据分析入门与实战', 'Python数据分析入门与实战']
通过这些特殊的操作可以减少很多工作量,批量生产想要的列表数据。
元组的形式和列表很相似,通过( )进行赋值,只能赋值一次,不允许对元组进行二次赋值。
例如:
myTuple = ('iPhone12', 'iMac', 'oppo', 'HuaWei', 'XiaoMi')
print(myTuple)
# ('iPhone12', 'iMac', 'oppo', 'HuaWei', 'XiaoMi')
myTuple[0] = 'iPhone12'
# TypeError......
字典是通过键值对进行存储的,与列表不同,没有索引的概念。通过{ : }标识来存取数据。
例如:
myDic = {'name': 'iPhone', 'type': 'pro', 'price': 9980, 'count': 1}
print(myDic)
# ('iPhone12', 'iMac', 'oppo', 'oppo', 'HuaWei', 'XiaoMi')
print(myDic['name'])
# iPhone
字典中Key是关键字,Value是值。都是一一对应的。
print(myDic.keys())
# dict_keys(['name', 'type', 'price', 'count'])
print(myDic.values())
# dict_values(['iPhone', 'pro', 9980, 1])
可以使用字典中的内置函数keys()和values()进行获取。
通过以上四种数据类型的介绍,相信大家已经对Python中常用的字符串、元组、列表、字典有深入的了解了。接下来在给大家介绍下不同数据类型之间的转换。
int(x [,base]) | 将x转换为一个整数 |
---|---|
long(x [,base] ) | 将x转换为一个长整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
unichr(x) | 将一个整数转换为Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
例如:
print(int('1001',2))
# 9
print(int('1001',10))
# 1001
print(str(1000)+'200')
# 1000200
print(tuple(['a','b','c','d']))
# ('a', 'b', 'c', 'd')
print(list(('a','b','c','d')))
# ['a', 'b', 'c', 'd']
print(ord('a'))
# 97
结合各个函数的说明,大家可以注意测试,找到数据类型转换的规律。通过这些内容的函数就能够把不同数据类型之间的数据进行转换。这里教给大家一个Type()函数来检验是否转换成功。
例如:
print(type(myDic))
# <class 'dict'>
print(type(myTuple))
# <class 'tuple'>
接下来我们来开始今天的第二部分内容运算符及优先级。
运算符主要讲解算术运算符、比较运算符、赋值运算符、逻辑运算符等。
算术运算符
+ | 加 - 两个对象相加 |
---|---|
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x除以y |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
// | 取整除 - 返回商的整数部分(向下取整) |
赋值运算符
= | 简单的赋值运算 |
---|---|
+= | 加法赋值运算符 |
-= | 减法赋值运算符 |
*= | 乘法赋值运算符 |
/= | 除法赋值运算符 |
%= | 取模赋值运算符 |
**= | 幂赋值运算符 |
//= | 取整除赋值运算符 |
例如:
num1 = 100
num2 = 20
print(num1,num2)
# 100 20
num1 += 50
print(num1)
# 150
num1 **= 2
print(num1)
# 22500
print(10//3)
# 3
比较运算符
== | 等于 - 比较对象是否相等 |
---|---|
!= | 不等于 - 比较两个对象是否不相等 |
> | 大于 - 返回x是否大于y |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 |
>= | 大于等于 - 返回x是否大于等于y。 |
<= | 小于等于 - 返回x是否小于等于y。 |
例如:
商品的平均价格是100,高于平均价格退差价。需要进行判断。
price = 120
avgPrice = 100
print(price > avgPrice)
# True
print(price < avgPrice)
# False
逻辑运算符
and | x and y |
---|---|
or | x or y |
not | not x |
例如:
判断一年是否是闰年:能够被4整除且不能被100整除,或者能够被400整除。
year = 2020
isRun = year % 4 == 0 and year %100 !=0 or year % 400 == 0
print(isRun)
# True
运算符多了,就像数学计算也有优先级一样。我们来看下Python的运算符优先级。做到先后有序。
** | 指数 (最高优先级) |
---|---|
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
本次主要详细讲解了数据类型和运算符。相当于把Python中基础的知识学习了。后期还会根据现有知识介绍条件和循环相关的内容。期待大家能够有收获,一起学习Python,共同进步。