学习大数据的第41天(python篇)——学习python的第一天
Pyhton 基础语法Base
变量
变量的定义要求:
1.命名要求: 字母、数字、下划线
2.注意: (1)数字不能作为开头
(2) 不能以关键字作为变量名
注意:输出一串相同的字符串的时候,可以 print(’>>>>’ * 40)
五种数据类型
整型: int
字符串: str
小数: float
布尔类型: bool
空类型:NoneType注意:
1.bool类型中的True和False是需要首字母大写
2.变量类型可以自动去判断
3.字符串中单引号和双引号不区分
split切分
str2 = str1.split(" ")
print(str2)
str1 = "java Python scala sql"
# 字符串的切割
print(str1[5:11])
# 步长
print(str1[5:11:2])
# 反转
print(str1[::-1])
# 反转Python
# 负值取值是从后往前数
print(str1[-11:-17:-1])
# 获取字符串长度
print(len(str1))
# 字符串的索引
print(str1[0])
格式化
方式一
str_format = “{} * {} = {}”
print(str_format.format(a, b, a * b))方式二
%d 表示 数字
%s 表示 字符串
%f 表示 浮点型
%.nf 表示 输出小数点后n位
print("%d * %d = %d" % (a, b, a * b))
print("%s * %d = %d" % (‘4’, b, a * b))
print(’%f’ % 3.14)
print(’%.1f’ % 3.14)
算数运算符
# + - * / % // **
# Pycharm 快捷键 Ctrl + D 表示复制当前行至下一行
# // 表示整除 ** 表示次方
注意:
# 如果是两个 ** 号 则需要从后往前计算
print(2 ** 3 ** 2) # 512
# 如果是两个 // 号 则需要从前往后计算
print(10 // 3 // 2) # 1
Python的数据容器——Collection集合
1、列表List
格式定义:
用[] 定义一个
list特点:
1.可以存储不同类型的数据
2.可以存储相同数值数据
3.存储数据内容是有序的
4.列表中的元素是可以被删除的
5.列表中可以嵌套列表
list1 = [1, 1, 2, 3, 1.1, True, "str"]
print(list1)
List的常用方法
# 取元素
通过索引(index)取值,从0 开始取值
print(list1[0])
# 切片
# 规则:[开始位置:结束位置:步长]
print(list1[::])
# 反序列取值
print(list1[::-1])
# 修改元素
list1[2] = "A"
print(list1)
# 删除元素
# pop方法:删除列表中最后一个元素
list1.pop()
print(list1)
# remove:删除列表中指定的值,如果出现重复,那么就删除第一个出现的值
list1.remove(1)
print(list1)
# 增加元素
# append:在列表的末尾进行追加元素
list1.append([1, 2])
print(list1)
# 查找嵌套的list
print(list1[5][0])
# insert:在列表的指定索引位置插入元素
list1.insert(4, False)
print(list1)
# 其他函数
# 排序
list2 = [3, 4, 1, 2]
list2.sort()
print(list2[::-1])
# 合并
# extend函数:讲另外一个列表追加到当前列表之后
list3 = [6, 7, 8, 9]
list1.extend(list3)
print(list1)
# +: 将两个list 合并成一个新的 list
list4 = list2 + list3
print(list4)
# 反转
list4.reverse()
print(list4)
# 统计
list5 = [1, 1, 2, 3, 1]
print(list5.count(1))
# 清除
list5.clear()
print(list5)
2、元组
定义:通过 ( ) 进行定义
特点:
1.可以存储重复数据
2.可以存储不同类型的数据
3.元组是有序的
4.元组是不支持修改
tuple1 = (1, 1, 2, 3, 1.1, True, "str")
print(tuple1)
元组的常用方法
# 取元素
print(tuple1[3])
# 改变元素
# tuple1[3] = "A"
# print(tuple1)
# 其他方法
# count:统计
print(tuple1.count(1))
3、set集合
定义: set集合使用 { }
特点:
1.set集合可以存储不同类型数据
2.set集合是无序的
3.set集合存储不了重复数据
set1 = {1, 1, 2, "hello", False, 1.1}
print(set1)
set集合的常用方法
注意:set集合不能通过下标进行读取数据,得使用循环进行取值
# 读取数据
for i in set1:
print(i)
# 删除数据
set1.pop()
print(set1)
set1.remove("hello")
print(set1)
# 增加元素
set1.add(1)
set1.add(2)
set1.add(3)
print(set1)
# 集合运算
set2 = {2, 3, 4}
set3 = {3, 4, 5}
print(set2 & set3) # {3,4}
print(set2 | set3) # {2,3,4,5}
print(set2 - set3) # -号是指去除set2中set2与set3重复的元素
4、字典
定义:{ k : v }
特点:
1.不可以存储相同Key的数据,默认存储后一个相同Key的Value值
2.需要通过Key进行取值
3.当Key中出现0和TRUE以及1和False后会出现相同key替换现象(特点1)
4.字典中的Key为不可变元素,Value中可以存储任意类型元素
5.字典中的Value值可以直接根据类型取出
6.查询速度并不会随着元素的增多变慢
dict1 = {
'x1': "x1",
'x1': "x2",
1: "1",
0: "0",
True: "true",
False: 'false',
(1, 2, 3): "tuple(1,2,3)",
# [1, 2, 3]: "list[1,2,3]",
"xx1": [1, 2, 3],
"xx2": {
"xxx1:": "vvv1",
"xxx2": {"xxxx1": "4x1"}
}
}
print(dict1)
# 取元素
# 无法通过下标index进行取值
# print(dict1[2])
# 通过Key进行取值
# 方式一:
print(dict1['x1'])
# 方式二:
dict1.get("x1")
# 改变Key对应的Value值
dict1['x1'] = 'x3'
print(dict1)
# 常规操作
print("所有keys:", dict1.keys())
print("所有values:", dict1.values())
print("所有k-v:", dict1.items())
# 扩充字典
print(dict1)
# 取嵌套字典值
print(dict1.get('xx2').get('xxx2').get('xxxx1'))
集合的遍历器
遍历容器
1.列表 List
2.元组 tuple
3.集合 set
4.字典 dict
# 遍历列表
ls1 = [3, 4, 5]
for i in ls1:
print(i)
# 遍历元组
tup1 = (3, 4, 5)
for t in tup1:
print(t)
# 集合Set
set4 = {4, 4, "hello", True}
for s in set4:
print(s)
# 字典dict
dict2 = {
'xx1': "xx1",
'xx2': "xx2",
'xx3': "xx3",
}
for key in dict2.keys():
print(key)
for values in dict2.values():
print(values)
for kv in dict2.items():
print(kv[0], kv[1])
for k, v in dict2.items():
print(k, v)
range函数
range 传值是一个区间,区间是左闭右开区间,起始位置如果是0 可以不写
# range 传值是一个区间,区间是左闭右开区间,起始位置如果是0 可以不写
for i in range(10):
print(i)
# 步长
for j in range(1, 10, 2):
print(j)
# 需求:获取一个从1...100的列表
# 方式一:
list6 = []
for i in range(1, 101):
list6.append(i)
print(list6)
# 方式2:
# 列表推导式
list7 = [i for i in range(1, 101)]
print(list7)
# 需求:获取一个从1...100的奇数列表
# 方式一:
list7 = [i for i in range(1, 101, 2)]
print(list7)
# 方式2:
# 列表推导式
list7 = [i for i in range(1, 101) if i % 2 == 1]
print(list7)
# join 和 split
str2 = "java,python,scala"
print(str2.split(','))
list8 = str2.split(',')
print(','.join(list8))
# 九九乘法表
print("\n".join(['\t'.join(['{} * {} = {}'.format(j, i, j * i) for j in range(1, i + 1)]) for i in range(1, 10)]))