当前位置:   article > 正文

Python学习第一周总结_python数据处理实习周志

python数据处理实习周志

Python学习第一周总结

​ 经过一周的学习后,对这一周学习的重要知识点进行一下总结,第一个重要的知识点就是:Python语言元素之变量

一、变量和类型

1.1 变量

  • 变量是数据的载体

  • 变量的值可以被读取和修改

1.2 变量命名

  • 字母,数字,下划线。不能使用特殊字符,数字不能开头
  • 变量名是区分大小写的(x和X是两个不一样的变量名)
  • 不能用python中的关键字和保留字(python中已经有含义的)
  • 见名知意(看到变量的名字,就能知道它代表了什么意思)
  • 变量的命名使用全小写,多个单词用下划线进行分隔(snake case)

2、类型

​ Python中的数据类型很多,而且也允许我们自定义新的数据类型,这里我们需要先了解几种常用的数据类型。

  • 整型(int):Python中可以处理任意大小的整数,而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。

  • 浮点型(float):浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。

  • 字符串型(str):字符串是以单引号或双引号括起来的任意文本,比如'hello'"hello"

  • 布尔型(bool):布尔值只有TrueFalse两种值,要么是True,要么是False

二、Python语言元素之运算符

运算符描述
[] [:]下标,切片
**指数
~ + -按位取反, 正负号
* / % //乘,除,模,整除
+ -加,减
>> <<右移,左移
&按位与
^ \|按位异或,按位或
<= < > >=小于等于,小于,大于,大于等于
== !=等于,不等于
is is not身份运算符
in not in成员运算符
not or and逻辑运算符
= += -= *= /= %= //= **= &= |= ^= >>= <<=(复合)赋值运算符

三、分支结构(选择结构)

​ 分支结构就是指代码中有多条路劲,但是只有其中一条会被执行。在Python中,要构造分支结构可以使用ifelifelse关键字。

具有代表性的例子就是数学上的分段函数求值:

x = float(input('x = '))
if x > 1:
    y = 3 * x - 5
elif x >= -1:
    y = x + 2
else:
    y = 5 * x + 3
print(f'f(x) = {y}')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

四、循环结构

4.1 for-in循环

  • 如果明确的知道循环执行的次数,我们推荐使用for-in循环

例如求两个数的最大公约数

x = int(input('x = '))
y = int(input('y = '))
for i in range(x, 0, -1):
    if x % i == 0 and y % i == 0:
        print(i)
        break
print(f'{x}和{y}的最大公约数:{i}')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4.2 while循环

  • 如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True则继续循环;表达式的值为False则结束循环。
如:输入三角形三条边的长度,如果能构成三角形就计算周长和面积,如果不能构成三角形,提示用户重新输入,直到正确。
  • 1
while True:
    a = float(input('a = '))
    b = float(input('b = '))
    c = float(input('c = '))
    if a + b > c and a + c > b and b + c > a:
        x = a + b + c
        p = x / 2
        s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
        print(f'周长为{x}, 面积为{s}')
        break
    else:
        print('不能构成三角形,请重新输入')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

上面的代码中使用while True构造了一个条件恒成立的循环,也就意味着如果不做特殊处理,循环是不会结束的,这也就是常说的“死循环”。为了能够退出循环结构,我们使用了break关键字,它的作用是提前结束循环。

4.3 嵌套循环

​ 和分支结构一样,循环结构也是可以嵌套的,也就是说在循环中还可以构造循环结构

如果知道循环的次数,我们通常使用for循环;如果循环次数不能确定,可以用while循环。在循环中还**可以使用break**来提前结束循环。

例子:嵌套循环例子:求1-100之间的所有质数

for n in range(2, 100):
    is_prime = True

    for i in range(2, n):
        if n % i == 0:
            is_prime = False
            break

    if is_prime:
        print(n, end=' ')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

五、容器型数据类型(用一个变量可以保存多个数据)

  • 列表(list)

  • 元组(tuple)

  • 集合(set)

  • 字典(dict)

5.1 操作

  • 通过[]建立

  • append :在末尾追加元素

  • insert :在指定位置插入元素

  • pop :删除最后的元素

nums = [10, 100, 1000]
print(type(nums))
print(nums)

rules = ['富强,民主,文明,和谐',
         '自由,平等,公正,法治',
         '爱国,敬业,诚信,友善', ]
print(type(rules))
print(rules)

nums.append(10000)
nums.insert(0, 1)
print(nums)

rules.pop()         
print(rules)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

5.2 遍历

​ 列表的遍历是指把列表中的每个元素依次取出来

1、先从简单的取一个元素开始,如:

nums = [8, 15, 5, 4, 7, 20]
print(nums[5])
  • 1

表示从0开始,第5个下标位置的数,一定要注意,python中是从0开始取下标的

在这里插入图片描述

2、替换列表中指定位置的元素

nums = [8, 15, 5, 4, 7, 20]
print(nums[5])

nums[2] = 120
print(nums)
  • 1
  • 2
  • 3
  • 4

表示将下标为2的位置的元素替换成120

在这里插入图片描述

nums = [8, 15, 5, 4, 7, 20]

for i in range(6):
    print(nums[i])
  • 1
  • 2
  • 3

表示把列表里的元素依次取出来(即遍历)

在这里插入图片描述

上面这个代码只能对列表进行读取的操作,而有时候我们还需要对列表中的数进行改写,那么我们就需要用到下面这种循环结构

nums = [8, 15, 5, 4, 7, 20]

for i in range(len(nums)):
    print(nums[i])
    nums[i] = 100
print(nums)
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

这个我们可以从运行结果看到,不仅可以遍历列表,还可以把列表中的数进行改写

有时候我们不仅需要得到列表里的数,而且还需要知道它每个数对应的下标。那么就需要用到以下的代码

nums = [8, 15, 5, 4, 7, 20]

for i, x in enumerate(nums):
    print(i, x)
  • 1
  • 2
  • 3

在这里插入图片描述

5.3 例题

例子01——将一颗骰子掷60000次,统计每一个点数出现的次数

import random
f1 = f2 = f3 = f4 = f5 = f6 = 0
for _ in range(60000):
    i = random.randrange(1, 7)
    if i == 1:
        f1 += 1
    elif i == 2:
        f2 += 1
    elif i == 3:
        f3 += 1
    elif i == 4:
        f4 += 1
    elif i == 5:
        f5 += 1
    else:
        f6 += 1
print(f'1点出现的次数{f1},2点出现的次数{f2},3点出现的次数{f3},4点出现的次数{f4},5点出现的次数{f5},6点出现的次数{f6},')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

上面这个需要一一打出,可能有点冗余了,所有我们可以用遍历改进一下

import random
fs = [0] * 6

for _ in range(60000):
    x = random.randrange(1, 7)
    fs[x - 1] += 1
print(fs)

for i, value in enumerate(fs):
    print(f'{i + 1}点摇出了{value}次')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

你看,这样就看上去舒服得多

例子02

输入10个整数,计算平均值、方差、标准差和极差,并找出最大值和最小值

nums = []
for _ in range(10):
    temp = int(input('请输入数据: '))
    nums.append(temp)
print(nums)
mean_value = sum(nums) / len(nums)
total = 0
for num in nums:
    total += (num - mean_value) ** 2
# 方差 ---> variance ---> var
var_value = total / (len(nums) - 1)
# 标准差 ---> standard deviation ---> std / stdev
std_value = var_value ** 0.5
max_value, min_value = max(nums), min(nums)
print(f'均值: {mean_value}')
print(f'方差: {var_value}')
print(f'标准差: {std_value}')
print(f'极差(全距): {max_value - min_value}')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

总结:遍历很重要,一定要通过大量的练习来达到融会贯通。

rd deviation —> std / stdev
std_value = var_value ** 0.5
max_value, min_value = max(nums), min(nums)
print(f’均值: {mean_value}’)
print(f’方差: {var_value}’)
print(f’标准差: {std_value}’)
print(f’极差(全距): {max_value - min_value}’)


[外链图片转存中...(img-3cKuUoPX-1627184185374)]



### 总结:遍历很重要,一定要通过大量的练习来达到融会贯通。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/470501
推荐阅读
相关标签
  

闽ICP备14008679号