数据分析 NO.8 PYTHON 入门(含3道题)

PYTHON 入门

通过cmd命令终端,输入jupyter notebook进入。

变量:由字母、下划线、数字组成,不能用数字打头,慎用字母I和O,因为容易认错。并且变量名只好用小写字母组成!

// 取整:5//2 → 2
% 取余:5%2 → 1
divmod(a,b) a是取整,b是取余
a**b 和pow(a,b) a的b次方
计算顺序括号的优先级最高!

类型转换:
s = “3.232”
int_s = int(s) → 如果是字符串的话,字符串内的数字小数点是字符,因此无法转换成整数类型的,只能转换成浮点数。即float()

数据类型:
列表: 本身可以修改
list()或[ ]
.切片:前闭后开
[::1] 步长为1
a.reverse() 将列表中的元素倒过来排列,也可以使用切片[::-1]
a.sort() 列表进行排序,是对表本身进行排序修改。 本身是列表的方法 从高到低 a.sort(reverse=True)
sorted() 也是对列表进行排序,但是不改变原表,只是显示结果 本身就是一个函数。

a.index() 返回该列表中值得索引
比如找出该列表中最小值得索引

a.index(min(a))

增删改查:
a.append(x) :在列表最后直接添加元素x
a.extend(b) 在列表添加一个可迭代的对象,并且对其拆包。比如b=[7,8,9] ,把一个列表添加进去,会将其列表元素一个一个添加进去。
a.insert(x,y) x是索引的位置,y是添加的值
a.remove(x)删除列表中x值
del a[y] 删除索引是y的值
a.pop() 删除列表最后的一个值

元祖:不可以修改
tuple() 或()

字典:查询速度可以说是最快的。
键值是唯一的
a=[“name”:“bo”,“sex”=“male”]
a[“name”]
a.get(“name”) 如果就算没有name这个键,也不会报错。a.get(“xiaoming”,“None”)如果没有key值则返回后面的值!
删除:
a.pop(“name”) 返回值,并且删除
字典遍历:
for k,v in a.items():
print()
字典增:

#方法一:直接添加键值对就好
aa = {'人才':60,'英语':'english','adress':'here'}
aa['价格'] = 100
#方法二:使用update方法
rr = {'hhh':'gogogo'}
aa.update(rr)

字典删:

# 删除方法一:使用del函数
del[aa['adress']]
print(aa) # {'人才': 60, '英语': 'english', '价格': 100, 'hhh': 'gogogo'}
#删除方法二:使用pop函数,并返回值
vv = aa.pop('人才')
print(vv) # 60
print(aa) # {'英语': 'english', '价格': 100, 'hhh': 'gogogo'}
# clear方法,删除所有
aa.clear()
print(aa) # {},为空

#用于根据key值获取VALUE,如果key值不存在,则会给k值一个默认的value,再返回这个key所对应的value。
d.setdefault(“name”,1)

对字典进行排序

a = {"a":1,"b":2,"c":3}
sorted(a.items(),key=lambda s:s[0])

集合:
set() 是key的集合,里面是唯一的不重复的
| 取并集
& 取交集
在这里插入图片描述
在这里插入图片描述

条件判断:
if
循环:
while
一定要给一个条件变量设定一个自增量,否则容易导致死循环。

break:
立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何。
continue:
要返回到循环开头,并根据条件测试结果决定是否继续执行循环,它 不像break语句那样不再执行余下的代码并退出整个循环

input() 返回的结果总是字符串
因此需要使用比较时,需要类型转换。比如int(input(0)

函数:
定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回

def reaplace_element(a_list,x,y):
    i =0
    while(i<len(a_list)):
        if a_list[i]==x:
            a_list[i]=y
        i=i+1
        return a_list

函数的参数:
除了正常的定义的必选参数外,还可以使用默认参数、可变参数和关键字参数。
1.位置参数:按照参数位置传递。

默认参数:

def my_fun0(age,name,home = "shanghai"):
    if age > 18:
        print(name)
        print(home)

可变参数:
传入的参数个数是可变的,可以是任意的。

def my_fun1(*x):
    r = 0
    for i in x:
        r = r+i*i
    return r

函数内部会把参数作为一个tuple来进行使用
如果本身是一个列表a,要实现可变参数在函数内加*
my_fun1(*a) 就会把a里面进行拆包放入

关键词参数:
关键字参数可以传入任意个带有参数名的参数,这些参数会在函数内部组装成一个字典格式.

def my_fun2(name,**kv):
    if name == "小明":
        for k,v in kv.items():
            print(k)
            print(v)

my_fun2(“name”,age=18,sex=“male”)

参数组合:
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

def complex_fun(name,home = "shanghai",*args,**kv):
    '''
    
    '''
    if name =="xiaoming":
        r = 0
        for i in args:
            r = i +r
        print(r)
    elif name == "xiaohong":
        for k,v in kv.items():
            print(k,":",v)
    else:
        print("Not "+ str(home))

a = [1,2,3,3,4] =》 1,2,3,3,4
complex_fun(“xiaoming”,“shanghai”,*a,age=18,sex=“male”)
这里吧a中的第一个数值传给了home。 因此需要给定下"shanghai"

函数编写规范
编写函数时,需要牢记几个细节。应给函数指定描述性名称,且只在其中使用小写字母和下 划线。描述性名称可帮助你和别人明白代码想要做什么。给模块命名时也应遵循上述约定。
每个函数都应包含简要地阐述其功能的注释,该注释应紧跟在函数定义后面,并采用文档字 符串格式(‘’’ ‘’')。文档良好的函数让其他程序员只需阅读文档字符串中的描述就能够使用它:他们完全 可以相信代码如描述的那样运行;只要知道函数的名称、需要的实参以及返回值的类型,就能在 自己的程序中使用它。

列表生成器:
列表生成器是python内置方法却又非常强大的功能,我们在处理数据的时候一定要灵活掌握该方法。

# 列表生成器一般把元素写在前面,后面使用for循环读取每一个元素
# 生成一个 [1*1,2*2,...,100*100]的列表
[x * x for x in range(1,101)]

接上if判断

[x * x for x in range(1,101) if x %2==0]

[0 if i >4 else 5 for i in range(5)]

可以嵌套多个循环:

a = [1,2,3,4,5]
b = [10,20,30,40,50]
[m +n for m in a for n in b]

随堂练习:
1.随机姓名产生器
根据给出的姓和名各自取一个值,随机的生成一个姓名,比如last_names中随机挑选“赵”,first_names 中随机挑选“然”,那么结果就是“赵然”!要求随机生成10个姓名,保存到一个列表中!

import random # 产生随机数
result = []  # 结果列表
# YOUR CODE HERE
for i in range(1,11):
    result.append(last_names[random.randrange(0,len(last_names))]+first_names[random.randrange(0,len(last_names))])
print(result)

2.根据用户输入产生姓名
给用户两个输入整数,一个代表last_names的索引,一个代表first_names的索引。要提醒用户输入的索引整数不能大于列表的长度!

然后使用索引在列表中查找对应的姓和名进行组合!

while(True):
    x1 = int(input("请输入姓的索引正式(输入整数)"))
    x2 = int(input("请输入名的索引正式(输入整数)"))
    if x1>len(last_names) or x2>len(first_names):
        print("您输入的姓氏代号超过限制")
    else:
        print(last_names[int(x1)]+first_names[int(x2)])
        break

3.根据用户的输入进行组合,要求如下:用户可以随意输入整数索引或者文字


def fun_complex(x,y):
    print(x+y)
fun_complex(x=input(),y=input())

库pip不上,可以访问python库自下载
也可以直接:

pip install TensorFlow -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install keras -i https://pypi.doubanio.com/simple/

工作后补充:
1.进制转换
hex()转化为16进制
int(“0x21”,16)16进制转换为十进制
浮点数转换为16进制

import struct
struct.pack("<f", 37.6).hex()#低端
struct.pack(">f", 37.6).hex()#高端

16进制转化为浮点数

struct.unpack('<f', bytes.fromhex(s))[0]
1、判断Python语言是一种高级语言。【对】 2、多选: Jupyter notebook中运行单元格的方法有哪几种?( ) 选项: A:Enter B:Shift+Enter C:Ctrl+Enter D:F5 答案: 【Shift+Enter;Ctrl+Enter】 3、单选: Jupyter notebook的记事本文件扩展名为:( ) 选项: A:m B:py C:pyc D:ipynb 答案: 【ipynb】 4、判断: Jupyter notebook 中的助手需要额外安装。答案: 【对】 5、单选Python安装扩展库常用的是( )工具 选项: A:setup B:update C:pip D:run 答案: 【pip】 6、单选: 关于Python语言的注释,以下选项中描述错误的是:( ) 选项: A:python语言有两种注释方式:单行注释和多行注释 B:python语言的单行注释以#开头 C:python语言的单行注释以单引号开头 D:Python语言的多行注释以’’’(三个单引号)开头和结尾 答案: 【Python语言的单行注释以单引号开头】 7、单选: 以下选项中,不是pip工具进行第三方库安装的作用的是:( ) 选项: A:安装一个库 B:卸载一个已经安装的第三方库 C:列出当前系统已经安装的第三方库 D:脚本程序转变为可执行程序 答案: 【脚本程序转变为可执行程序】 8、单选: 安装一个库的命令格式是:( ) 选项: A:pip uninstall  B:pip -h C:pip install  D: ip download  答案: 【pip install 】 9、判断: 标准的缩进格式是Python的语法之一。 选项: A:对 B:错 答案: 【对】 10、多选: 下列导入第三库的操作中正确的是:( ) 选项: A:import numpy B:import numpy as np C:from matplotlib import pyplot D:from urllib.request import urlopen 案: 【import numpy;import numpy as np;from matplotlib import pyplot;from urllib.request import urlopen】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值