Python基础 实训第一天

今天是Python实训第一天。

Python基础 实训第一天

Python 数据结构

  • Number类型
    • int 整型
    • float 浮点型
    • bool 布尔
    • complex 复数
  • String 类型
  • List 类型:列表
  • Tuple类型:元组
  • Dictionary类型:字典
  • Set类型:集合
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
''' 多行注释 用3个单引号或双引号引入 '''
# 单行注释
# Number类型 int float bool complex
# 不需要声明类型,直接赋值
age = 18

# Python 浮点数都是 float 类型
shao = 38.5
price = 18.09

print(type(shao))
print(type(price))

# Python 中 真假值属于Number类型 就是 0 和 1 结合mysql数据库 中 true false的读取
# 首字母大写
danshen = True

# Python 中 的复数类型 complex
b = 1 + 3j
print(type(b))

# String 类型,
# Python 中 只有String 类型 没有字符类型 不是引用类型(?)
name = '孤狼'
print(type(name))
# Python 中 不能直接将字符串和数字类型转换 需要强制类型转换
# print(name + age)
# str()转换成字符串 int()转换成int
print(name + str(age))

# List 类型 :列表,[]
# Python 中 列表 各个元素可以不相同 列表长度 可以不定长
list1 = ['孤狼', 18, '38.5']

# 列表的append() 将元素加在列表最后
list1.append('单身狗中的战斗狗')
print(list1)

# 列表的list() 将元素加在列表指定位置
list1.insert(1,'单身')
print(list1)

# 列表元素的修改:找到下标重新赋值
list1[1] = '30'
print(list1)

# 列表可以双向遍历
# 从后往前是从-1开始 从前往后是从0开始
print(list1[-5])

# 列表元素也可以是列表
list2 = ['二狗子',list1]
print(list2)

# Tuple 类型 : 元组, ()

tuple1 = ('河南大学',1912, '105')

# 元组一旦定义好了 不能修改、增加和删除元素
#tuple1.append('郑州')

# 元组只能访问,用[]
# 元素加了引号就是str类型
print(type(tuple1[1]))
print(type(tuple1[2]))

# Dictionary 类型 : 字典,{'key' : 'value'}键值对
# 每一个元素就是一个键值对
dict1 = {'女朋友' : '你喜欢她,她也喜欢你的女性朋友,国家不负责发放',
'渣男': '说话不靠谱,办事不靠谱'}
print(dict1)
# 创建一个空字典
dict2 = { }
print(dict2)

# 键值对的键只能是Number string Tuple类型 是不可变类型 重新赋值是指向了另外一份空间 再改回来的话也会指回
# 值的类型不定

# 字典访问值用[], 根据键, 获取值
print(dict1['女朋友'])
# 类型是 str
print(type(dict1['女朋友']))

# 字典获取所有的键
print(dict1.keys())
# 类型是 dict_keys
print(type(dict1.keys()))

# 字典获取所有的值
print(dict1.values())

# 字典修改和添加用['key'] = value
# 若原键不存在, 即为添加
dict1['好人'] = '你是个好人,我们不合适'
# 若原键存在. 即为修改
dict1['渣男'] = '玩弄感情的渣渣'
print(dict1)

# 字典的删除 del方法
# dict1.pop(0) ?
del dict1['渣男']
print(dict1)

# Set 类型: 集合, {}或set()
# 集合类型输出时元素会自动排序, 重复元素被自动删除
set1 = {'千峰', '传智播客', '学佳澳', '666'}
print(set1)
# 创建一个空集合必须用 set()
set2 = set()
print(set2)
# set 只能有1个参数, 但这一个字符串参数中的每个字符都会分割成为集合的一部分
set2 = set('金山打字和金山画王')

print(set2)

# 判断元素是否在集合中
if '金' in set2:
print('金在集合中')

# 集合运算
set3 = set('金山WPS和金山词霸')
# 求差集, -
print(set2 - set3)
# 求并集, |
print(set2 | set3)
# 求交集, &
print(set2 & set3)
# 求两集合中不同时存在的元素 ,^
print(set2 ^ set3)

Python 运算符、循环结构和分支结构

  • 算数运算符
    • 整除号 //
    • 除号 /
  • 逻辑运算符
    • 与 And
    • 或 Or
    • 逻辑判断 Not
  • 分支结构
    • if … elif …else
  • 循环结构
    • for 遍历列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 算术运算符
money = 10000
noodles = 4
# 整除号 // 运算结果为int
wan1 = money // noodles
# 除号 / 运算结果为 float
wan2 = money / noodles
print(wan1)
print(wan2)

# 幂运算、位运算

# 逻辑运算符
# 与 and
age = 28
money = 300000
# if/while 语句没必要括号 末尾是:
if age >= 28 and money >= 300000:
# Python 通过缩进 控制代码结构 不能随意缩进
print('你有点资本')

# 或 or
#while age >= 25 or money >= 3000000:
# print('你都可以找对象了')

#while(age >= 25 or money >= 3000000):
# print('你都可以找对象了')

# 分支结构 if else
if age < 18:
print('好好学习,天天向上')
# else if 被 缩写成 elif
elif age > 23:
print('努力工作')
else:
print("努力工作,守护亲情,守护爱情")

# for 循环
# 输出0到9
for i in range(10):
print(i)
# 完整的 range(start, end, step)

# 遍历列表
list1=['盖伦','剑圣','小乔']
for i in list1:
# i 为列表内的元素
print(i)

Python 函数/方法的使用

  • 定义 : def 函数名(参数列表):

    ​ 函数体

    ​ return 返回值

  • 关键字参数

  • 不定长参数

    • 元组
    • 字典
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# def + 方法名(参数)
def setName(name):
# 空白的占位符
# pass
print(name)

def getName():
name = '二狗子'
return name

#setName()
print(getName())

# 多个参数的函数
def marry(house, money, car):
print('我结婚需要 %d 平方的房子,彩礼钱 %d ,汽车最差是%s牌的车'%(house, money, car))
marry(1000, 200000, '玛莎拉蒂')

# 关键字参数, 自动匹配参数类类型 要么全用这个,要么按顺序输入
marry(money=6666, house=100, car="那啥拉低")

# 不定长参数*args不使用,打印空元组
# 使用,以元组返回
def jiehun(house, car, money, *args):
print(house)
print(car)
print(money)
print(args)
pass
jiehun('三层别墅','保时捷',100000)

def jiehun2(house, car, money, **args):
print(house)
print(car)
print(money)
print(args)
pass
# 不定长参数**args不使用,打印空字典,可以使用关键字参数
# 使用,以键值对返回
jiehun(house='三层别墅',car='保时捷',money=100000,niu=566662, yao='三金')