数据处理的对象就是变量和常数。变量规则命名如下:
pycharm上运行了一下,如果需要使用
α , β , γ \alpha,\beta,\gamma α,β,γ也可以直接设置为变量。
α = 1
α = β = 2
α, β, γ = 1, 2, 3
α = 2; β = 3
基本数据类型包括数值类型、布尔类型和字符串类型
α = True
β = False
单引号和双引号在字符串上显示完全相同,无需区别。三引号(三个单引号)会保留字符串原有的格式,例如我们用 γ \gamma γ赋值一只大螃蟹
α = '小豆丁是个大笨蛋'
β = "小豆丁是个大笨蛋"
γ = '''
◣◢ ◣◢
\ ● ● /
-≡◢████◣≡-
-≡██████≡-
/◥████◤\
∪ ∪
'''
三引号一般用来输入多行文本信息,保留原有格式。输出的时候也是一只大螃蟹。
print指令用来输出字符串或者数值,print语法:
print(数据类型1,数据类型2,…数据类型n,sep=分割字符,end=终止字符)
sep的默认值为’ ',一个空格字符
end的默认值为\n,回车字符
这里有关于print的多种输出方式,print()函数
input语法:
变量 = input(提示字符串)
键入一个值之后,会把这个值赋值给变量。
字符串、整数、浮点数的转换函数为:eval(),int(),float()
项目 | Value |
---|---|
~ | 按位取反 |
<< | 按位左移 |
>> | 按位右移 |
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
语法格式
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
...
else:
语句块n
这个表达式加了 ( ) () ()也能运行出来,当条件表达式的值不为0时可以执行语句块。
计数循环,语法格式:
for 项目 in 序列对象:
循环语句块
else:
else语句块
Python提供了range()函数搭配使用,建立整数序列。
range(初始值, 终值, 步长)
for i in range(2):
print(i, end=' ')
>>> 0 1
for i in range(1, 5):
print(i, end=' ')
>>> 1 2 3 4
for i in range(2, 10, 2):
print(i, end=' ')
>>> 2 4 6 8
初始值默认为0,步长默认为1,不包含终值。这里步长只能为整数,否则会出现报错
TypeError: ‘float’ object cannot be interpreted as an integer
这个序列对象可以采用numpy库的arange对象,这里就不细谈了
语法格式:
while 条件表达式:
语句块1
else:
语句块2
break可以用来终端此循环
列表、元组和字符串是有顺序的数据元素的集合体,称为序列(sequence)。序列可以通过数据元素在序列中位置编号来访问数据元素。集合和字典属于无顺序的数据集合体,没有特定的排列顺序,不能像序列那样通过位置编号访问数据元素。
list_empty = []
list_int = [4, 2, 6, 8, 5, 3]
list_str = ['小豆丁', '小乌龟', '小狗狗', '小螃蟹']
位置索引从0开始,即list2[1]的值为4
(1)正向索引
>>> list_str[1]
>>> 小乌龟
(2)负向索引
>>> list_str[-1]
>>> 小螃蟹
(3)切片索引
[startstep],start指索引元素的起始位置,end指索引元素的终止为止,step指索引的步长
>>> list_str[0:3:2]
>>> ['小豆丁', '小狗狗']
(4)无限索引
在切片过程中不限定起始元素或终止元素的位置,用[::step]表示
(1)append每次往列表尾部增加一个元素
list_str.append('小公鸡')
(2)extend向列表尾部添加多个元素
list_str.extend(['小骆驼', '小肥羊', '小绵羊'])
(3)insert把元素插入到指定位置
list_str.insert(1, '小布丁')
把’小布丁’插入到第二个元素的位置
(1)pop删除末尾元素或者删除指定位置的元素
list_str.pop('小豆丁')
list_str.pop(2) # 删除第三个元素
(2)remove,从左边数删除第一个元素,删除元素不存在报错
ValueError: list.remove(x): x not in list
(3)clear,清空操作
名称 | 操作 | 说明 |
---|---|---|
查找元素下标 | a.index(e) | |
计算元素次数 | a.count(e) | 计算e在a列表中出现的次数,没有出现返回0 |
连接两个列表 | a+b | |
列表重复 | a*n | |
列表长度 | len(a) | |
排序 | a.sort()|c=sorted(b,reverse=True) | 排序默认升序 |
反转 | c=sorted(b,reverse=True) | 列表元素逆序对自己赋值 |
元组是一个不可改变的列表,通常将元组放在一对圆括号中:
my_tuple = () # 空元组
my_tuple = 1,
my_tuple = (1, 2, 3)
元组对象只有两种可用的方法分别是count和index,使用方法与列表相同。
字典只能通过键索引。
score = {'小豆丁': 73, '小布丁': 92, '小绵羊': 26}
score = {'小豆丁': 73, '小布丁': 92, '小绵羊': 26}
score['小公鸡'] = 35 # 增加键值对小公鸡:35
score.pop('小布丁') # 删除键值对小布丁:92
集合无序排列,不重复,类似数学中几何概念,可以进行交集、差集、并集等运算。
a = set() # 创建空集合
a = set([1, 2])
方法 | 意义 |
---|---|
a.add(x) | 集合a中添加对象x |
a.remove(x) | 集合a中删除对象x,若不存在,则KeyError |
a.descard(x) | 删除集合a中的x成员 |
a.update(b) | 集合a与b取并集并更新a |
差集:difference()
交集:intersection()
并集:union()
对称差集(异或运算):symmetric_difference()
Python中定义函数的语法
def functionName(Parameters):
functionBody
其中functionName是函数名,Parameters是形参,函数定义需要放在函数调用前,不是必须有返回值的。
在构造自定义函数时已经给某些参数赋予初值
def add(a, b=1):
s = sum(a+b)
return s
在不知道想要传入多少个形参个数的情况下,可以使用可变参数
做一个相加函数,在不知道加数的个数的情况下写一个可变参数
def add(*args):
s = sum(args)
return s
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
关于lambda用法,请看请看匿名函数