通过上一章的讲解,我们对于python有了初步的了解,这一章就详细讲解一下python的各个变量以及运算规则等内容。
关于测试代码推荐初学者将每一段代码都自己敲入编辑器中在本地运行。
1、数值
这是任何编程中都会有的基本变量,在python支持的数据类型主要包括:
整型(int):比如 10
浮点型(float):比如 10.12
复数(complex):是由x+yj表示的有序对的实数浮点数组成,其中x和y是实数,j是虚数单位,比如 10+5j
除此之外,在程序运行中我们还可以用0表示布尔值False,使用非零值表示布尔值True。
# 数值类型
# 整型
age = 10
print("age is {0}".format(age))
# 浮点型
price = 12.35
print("price is {0}".format(price))
# 复数
result = 1 + 2j
print("result is {0}".format(result))
对于数值类型,可以进行很多运算,比如最简单的四则运算
含义 |
符号 |
例子 |
加 |
+ |
3+7=10 |
减 |
- |
7-3=4 |
乘 |
* |
7*3=21 |
除 |
/ |
7/3=2.3333333333333335 |
取整 |
// |
7//3=2 |
取余 |
% |
7%3=1 |
幂 |
** |
7**3=343 |
相关代码:
# 四则运算
print(7+3)
print(7-3)
print(7*3)
print(7/3)
print(7//3)
print(7%3)
print(7**3)
(2)字符串
字符串就是一串文本,可以使用双引号("")或者单引号('')包围,如果是多行的可以使用三引号("""xxx"""或者'''xxx''')。常用的方法参考下面例子:
# 字符串
text1 = "hello"
text2 = "world"
# + 简单拼接
text3 = text1+" "+text2
print(text3)
# format 拼接
text4 = "{0} {1}".format(text1, text2)
print(text4)
text5 = "hello world"
# 长度
print(len(text5))
# 字符串切割转数组
print(text5.split(" "))
# 切片 [开始索引:结束索引:步长],左闭右开,比如下面就是1-3也就是 ell
print(text5[1:4])
# 索引
print(text5[1])
# 大小写
text6 = "Hello Wolrd"
print(text5.upper())
print(text5.lower())
上面只是展示了一部分最简单的常用方法,字符串的方法还是非常多,需要自己下去一个一个尝试。这里面最重要的莫过于切片方法,这个我会在下面列表中在详细说一下。
(3)布尔值
布尔值非常简单,就是True或者False。需要注意的是这里的True或者False第一个字母是大写,同时还需要注意的是在python中空、数值0或者空列表等都是False。
# 布尔值
flag1 = True
flag2 = False
flag3 = None
if flag3:
print("flag3 is not None")
else:
print("flag3 is None")
(4)列表
列表List是我们最为常用的例子,它是通过"[]"定义,数据之间用","隔开,然后索引是从0开始。比如:
a = ["a", "b", "c"]
这是一个字符串列表,第0位是"a",依次类推,提取列表数据可以直接使用 a[0] 取第一位的数据。操作列表最常用的是之前提到的一个切片,切片可以理解为就是对列表做提取工作。它的基本规则是:
[ 开始索引 : 结束索引 : 步长 ],左闭右开
开始索引就是列表起始索引,比如0、1等,可以是负数,复数代表从末尾开始算起,比如-1就是列表最后一个数。这个可以通过下面方法验证一下。
a = ["a", "b", "c"]
print(a[-1])
具体例子:
# 列表
a = ["a", "b", "c"]
print(a[-1])
# 列表长度
print(len(a))
# 切片
print(a[1:])
# 循环列表
for _a in a:
print(_a)
# 添加新的数据
a.append("d")
print(a)
# 删除指定数据
del a[0]
print(a)
# 删除最后一个元素并且返回删除的值
print(a.pop())
print(a)
(5)元组
元组(tuple)类似列表,但是和列表不同的它是不可变的,也就是说我们生成一个元组后只会对其进行查询等操作,不能修改其值。元组生成方式:
使用小括号 "()" 来写元组,比如 (1, 2, "a")
空的元组就是 ()
如果只有一个元素 ("a",),不要丢掉后面的","。
具体例子
# 元组
aTuple = ("a", "b", "c")
print(type(aTuple))
# 获取第一个元素
print(aTuple[0])
# 循环
for _a in aTuple:
print(_a)
(6)集合
集合是一个无序不重复的列表,这里需要注意就是集合中的每一个元素都是不重复的,所以我们通常使用它来去重,创建时候我们通常使用set()来创建。
具体操作例子:
# 集合 set
age = [12, 13, 12, 11, 14]
print(age)
# 生成集合去掉重复的12
ageSet = set(age)
print(ageSet)
ageSet2 = set([10, 11, 12, 15])
# 在 ageSet 却不在 ageSet2中数据
print(ageSet - ageSet2)
# 两者并集
print(ageSet | ageSet2)
# 两者交集
print(ageSet & ageSet2)
# 不同时在ageSet和ageSet2中的数据
print(ageSet ^ ageSet2)
(7)字典
字典这个非常简单,就是 { key : value } 这种格式。具体的直接看相关代码:
# 字典
people = {
"age": 10,
"name": "Elly",
"desc": "a boy ???",
"code": [1, 2, 30.5, 22.1]
}
# 获取所有键值
print(people.keys())
# 获取所有的值
print(people.values())
# 获取指定的值
print(people.get("age"))
# 循环
for key, value in people.items():
print("{key} -- {value}".format(key=key, value=value))
这里需要注意的就是这个循环,这里使用了items方法来获取每次循环对应的对象的key和value。
(8)日期
在python中日期可以使用 datetime 来做。举个例子:
# 日期处理
import datetime
# 当前日期
now = datetime.datetime.now()
print(now)
# 格式化日期
print(now.strftime("%Y-%m-%d %H:%M:%S"))
print(datetime.datetime.strptime("2018-12-31 00:00:00", "%Y-%m-%d %H:%M:%S"))
这里面只是写了一个最简单的例子,想要学习更加复杂的例子和用法可以参考API或者网上专业的python教程。
大家如果有问题需要交流或者有项目需要合作,可以微信联系我,加微信好友请留言加上“GEE”。
知乎专栏:https://zhuanlan.zhihu.com/c_123993183
CSDN:https://blog.csdn.net/shi_weihappy