IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python基础(大数据)[完结] -> 正文阅读

[Python知识库]python基础(大数据)[完结]

python简述

1,跨平台

2,应用范围广(操作系统,3d动画,web,云计算,企业应用)

python基本知识

内置函数(bif:built in functions):比如print、int,input。(可以理解为官方定义的一种方法);

#查询函数列表
dir(_builtins_)
# 查看某个内置函数功能
help(int)

流程图的使用:可以理清自己程序的逻辑性,科学合理的解决程序可能出现问题;

python是一种脚本语言,效率是很重要的。

pycharm安装

很好用的python开发工具

软件下载:www.jetbrains.com

专业版功能强大,收费的(破解自行百度);社区版免费功能少

#快捷键
ctrl+/快速注释

变量

  • 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储变量中”。
  • 不过python与大多数其他计算机语言的做法稍有不同,ta并不是把值存储在变量中,而更像是把名字贴在值的上边。
  • 所以有些python程序员会说“python”没有“变量”,只有“名字”
  • 变量是可以多次赋值的【在程序执行的过程中,值可以改变的量】
tmper=1

注意点:

  • 在使用变量之前,需要对其先赋值。
  • 变量名可以包括字母、下划线,但变量名不能以数字开头。
  • 字母可以是大写或小写,但大小写是不同的。也就是说fishc和fishc对于python来说是完全不同的两个名字
  • 等号(=)是赋值的意思,左边是名字,右边是值,不可以写反
  • 变量命名是可以任意取合法的名字,但尽量贴合变量意义(驼峰命名法,下划线命名法)

字符串

  • 到目前为止,我们所认知的字符串就是引号内的一切东西,我们也把字符串叫做文本,文本和数字截然不同
  • 创建字符串要在字符两边加引号,可以是单引号也可以是双引号(但必须成对出现)

原始字符串

  • 需要在字符串前边加一个英文字母r即可:
str=r'C:\now'

长字符串

  • 用“““ xxxxxxxxxxxxxxxxxxxxxxxx “”" 用三对引号

注释

# 单行注释

""" 多行注释 ”“”

python基本数据类型

print(type(a))  #查看a的数据类型(使用type())
# 高级类型
a=() #元组类型
a=[] #列表类型
a={} #字典类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ih0dQIQD-1627829054950)(C:\Users\何十三\Desktop\新建文件夹\基本数据类型.png)]

运算符

运算

算数运算符

算数运算符是运算符的一种

是完成基本的算数运算使用的符号,用来处理四则yunsuan

运算符描述实例
+10+20=30
-10-20=-10
*10*20=200
/10、20=0.5
//取整数返回除法的整数部分(商)9//2输出结果4
%取余数返回除法的余数9%2=1
**又称次方、乘方。2**3=8

比较运算符

== #等于
!= #不等于
> #大于
< #小于
>= #大于等于
<= #小于等于

逻辑运算符

and #同真即真,一假即假
or  #一真即真,同假为假
not #取反
()-> not->and->or  #优先级(相同即从左往右依次计算)
#比如
print(a+b>c and c<d)

赋值运算符

赋值运算符作用描述结果描述
=赋值运算符将=号右边的值赋值给左边的变量
+=加法赋值运算符c+=a等效于c=c+a
-=减法赋值运算符c-=a等效于c=c-a
*=乘法赋值运算符c*=a等效于c=ca
/=除法赋值运算符c/=a等效于c=c/a
%=取模赋值运算符(取余数)c%=a等效于c=c%a
**=幂赋值运算符c**=a等效于c=c^a
//=取整赋值运算符c//=a等效于c=c//a

基本语法

第一个程序hello python

print('hello python')
print('人生苦读,我用python')
print('点个关注哈')

python输出与输入

输出

#输出 %占位符   (格式化输出语言)
#python有一个简单的字符串格式化方法,使用%做占位符,%后面跟的是变量的类型。
# %s表示数据类型,s代表字符串string类型
name='giao'
classpro='清华附中三班'
print('我的名字是%s: 来自[%s]'%(name,classpro)) 
#------------------分割线---------------------------
#其他格式化输出语言方法(.format)
print('我的名字是:{} 来自:{}'.format(name,classpro))

常用的格式化符号,其中最常用的%s,%d,%f

格式符号转换
%c字符
%s通过str()字符串转换来格式化
%i有符号十进制整数
%d有符号十进制整数
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写字母)
%e索引符号(小写’e’)
%E索引符号(大写’E’)
%f浮点实数
%g%f和%e的简写
%G%f和%E的简写

输入

python中提供了input方法来获取键盘输入

a= input('请输入你的名字:')

注意:input接收的键盘输入结果都是str类型的,如果接收数字类型需要将str转成int

a= int(input('请输入你的名字:'))

流程控制语句

流程:就是计算机执行代码的顺序

流程控制:对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发当中的业务逻辑

流程控制的分类:

  • 顺序流程:就是代码一种自上而下的执行结构,也是python默认的流程

  • 选择流程/分支流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结果

  • 循环流程:在一定的条件下,一直重复的去执行某段代码的逻辑

选择流程

#单分支表达式
if 条件表达式
一条条的python代码
一条条的python代码
一条条的python代码
----------------------------------------------------
#多分支表达式
if 条件表达式:
	一条条的python代码
	一条条的python代码
	一条条的python代码
elif 条件表达式:
	一条条的python代码
	一条条的python代码
else:
	一条条的python代码
	一条条的python代码

---------------------------------------------------

循环流程

while 条件表达式:
	一条条的python代码
#例子

love = "yes" #定义变量
while love=="yes" #条件表达式
	love = input("今天你还爱我吗?") #重复执行代码块
    #注意这里的缩进 缩进代表这从属关系

i = 1
sum = 0  #定义变量
while i <= 100000: #条件表达式
    sum += i   #重复执行代码块
    i += 1     #这里注意很重要的一点,要制造一个为“假”的情况,防止死循环,也可以用break直接跳出循环体。
-------------------分割线--------------------------
# while语法结构
while条件表达式:
	代码指令
else:
	代码指令
# 语法特点
1.有初始值
2.有条件表达式
3.变量【循环体内计数变量】的自增自减,否则会造成死循环

#使用条件:循环的次数不确定,是依靠循环条件来结束
#目的:为了将相似或者相同的代码操作变得简洁
--------------------------------------------------
#循环的嵌套 九九乘法表
i = 1  #行
while i<=9:
	j = 1  #列
    while j<=i:
        print(j,"*",i,"=",j*i,end=" ") #end
    print() #换行
    i+= 1
--------------------------------------------------
# 跳出循环可以使用break和continue,但二者有很大的不同
# break是直接跳出循环体,而continue仅仅是跳出本次循环不影响下次循环 但只能作用一层循环体
# end= 用法总结:
# end=''打印结果不换行
# end='\t'打印结果不换行但会加空格
# end='\n'打印结果换行
# end=''空格里面打几个空格,不换行的时候都会加几个空格哦,加字符串等等。。。
# else语句是当循环条件不再为真的时候才会执行

  
--------------------------------------------------
#for循环
#语法结构
for 变量 in 可迭代对象 : #迭代可以理解为遍历
    statements #代码语句
    
#例子
#1
for each in 'giao':
    print(each)

#2
i = 0
while i< len('giao'):
    print('giao'[i])
    i+=1

#3
for i in range(11):
    print(i)
#range表示生成有序数列,用法有三种:range(stop)、range(start,stop)、range(start,stop,step)

#4
for i in range(5,10):   #range(start,stop)
    print(i)
    
#5
for i in range(5,10,2):
#range(start,stop,step) step表示跳跃几个
    print(i)
#结果:
5
7
9

#6
for i in range(10,5,-2):
    print(i)
#结果
10
8
6

#7
sum = 0
for i in range(1000001):
    sum += i
print(sum)
#结果
500000500000

#找出10以内的所有素数
for n in range(2,10):
    for x in range(2,n):
        if n % x == 0:
            print(n,"=",x,"*",n//x)
            break
    else:
        print:
            print(n,"是一个是素数")

列表

创建列表

[1,2,3,4,5]

序列

giao=[1,2,3,4,5,"天王盖地虎"]
print(giao)

#遍历序列
for each in giao:
    print(each)
#序列下标
giao[0]
giao[1]
giao[2]
#输出末尾元素
giao[length-1]
giao[-1]
#列表切片
giao[0:3]  #0到3
#结果
123

giao[3:6]
#结果
45,"天王盖地虎"

giao[:3]
#结果
123

giao[3:]
#结果
4,5,"天王盖地虎"

giao[:]
#结果
[1,2,3,4,5,"天王盖地虎"]

giao[0:6:2]#:2表示隔两个下标
#结果
[1,3,5]

giao[::2]
#结果
[1,3,5]

giao[::-2]  #:-2表示从末尾隔两个
#结果
["天王盖地虎",4,2]

giao[::-1]
#结果
["天王盖地虎",5,4,3,2,1]

列表诸多方法

#append()添加列表元素,只能添加一个元素
person = ["张三","王五","赵四"]
person.append("秋怕累")
--------------------------------------------------
#extend() 添加列表可迭代对象,可以添加多个元素
person.extend(["giao","钱九"]) 
#Attention(注意)--->extend()方法的参数必须是一个可迭代对象,新的内容是追加到原列表最后一个元素的后面。

#切片添加元素
a = [1,2,3,4,5]
s[len(s):] = [7,8,9]
------------------------------------------------
#insert() 在列表任意位置添加元素 要规定两个参数第一个参数是位置、第二个是插入的元素
a = [1,2,3,4,5]
a.insert(1,2)  #1表示参数下标位置 2表示想插入的元素

a.insert(0,0)  #0表示列表第一个元素
a.insert(len(a),6) #len(a)表示列表最后一个元素

--------------------------------------------------
#remove() 删除列表已经存在的元素
a = [1,2,3,4,5]
a.remove(1)
#attention(注意)-->1.如果列表中存在多个匹配的元素,那么它只会删除第一个;
#				 2.如果指定元素不存在,程序会报错
--------------------------------------------------
#pop()  下标删除方法,参数是列表的下标值
a.pop(2)
--------------------------------------------------
#clear()全部清空
a.clear()

#列表的替換 替换分为两步:1,将赋值号(=)左边指定的内容删除。2,将包含在赋值号(=)右边可迭代对象中的片段插入左边被删除的位置

hero[4] = "giao"

hero[3:]= ["giao","lbw"] #多个元素替换

#排序 sort() 从小到大
hero.sort()

#从大到小排序 reverse()
hero.reverse()

#查找列表某个元素出现的次数 count()
hero.count(3)

#查找列表元素下标 index()
hero.index()
hero.index(3,1,7) #查找元素3的下标从1下标开始到7下标结束
#扩展 index() 利用index替换列表元素
heros[heros.index("giao")] = "pdd"

复制(浅复制)

#copy()
import copy
hero = copy.copy(heros)

#切片复制
hero_1 = heros[:]

深复制(效率低节省内存空间)

import copy #导入copy模块
hero = copy.deepcopy(heros)

列表加法和乘法

#加法
a = [1,2,3]
b = [4,5,6]
a + b
#结果
[1,2,3,4,5,6]

#乘法 重复列表元素
a * 3
#结果
[1,2,3,1,2,3,1,2,3]

嵌套列表

二维列表

m = [[1,2,3],[4,5,6],[7,8,9]] #矩阵
m = [[1,2,3],
     [4,5,6],
     [7,8,9]]
#输出二维数组
for i in m:
    for each in i:
        print(each,end=" ")
    print()
#下标输出二维数组
m[1][1]
m[2][2]

#循环语句创建初始化二维列表
A = [0] *3
for i in range(3):
    A[i] = [0] * 3
-------------------------------------------------
b = [[0] * 3] *3  #错误写法

列表推导式

基本语法

[表达式(循环体)for target in iterable]

[i for i in range(10)]

处理字符串

y = [c * 2 for c in "giao
print(y)

可添加if

[expression for target in iterable if condition]

[i for i in range(10) if i % 2 ==0]

#先执行 for语句 再执行if判断 修后执行表达式

嵌套列表推导式

元组

只支持查没有增删改

w = (a,b,c)
w = (a,) #生成一个元素的元组

字典

#基础知识(注意:创建字典是以{} 列表是[]
NASDAQ_code = {
    'BIDU':'Baidu',
    'SINA':'Sina',
    'YOKU':'YouKu'
}
1、健-值成对出现;
2、健不能重复;
3、健不可更改,值可修改;
4、健来索引值。

#删除字典元素(以键为参数)
del dic['c']

#增加字典元素
dic.update({:})

#for循环快速创建字典
dic = {i:i**2 for i in range(10)}
#统计小说词频  {'and':25,'my':12...}
import re
lyric = 'The night begin to shine, the night begin to shine'
lyric = lyric.lower()
lyric = re.sub('[,.?:;"\']','',lyric)  #正则表达式清洗标点符号
words = lyric.split()  #断点,打断句子

word = set(words)          #构建集合 元素无序且不重复可以看数据主要包含那些单词

#res = words.count('')查看单一元素可以使用

dic = {i:words.count(i) for i in word} #构建字典进行对多个元素统计

文件管理

打开文件

在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件:

  • open(文件名,访问模式)

示例如下:

  • f = open(‘test.txt’,‘w’)
f = open('walden.txt','r')  #w为写r为读
txt = f.read(50)    #50表示文件前50个字符不规定即所有字符
f.close()   #有打开就有关闭
print(txt)

#查看工作路径
import os
print(os.getcwd())

#打开规定路径下的文件
f = open('路径/walden.txt','r')  #win路径是\要修改为/

清洗数据例子

#对Walden小说进行词频统计工作
import re
f = open('walden.txt','r')
txt = f.read()
lyric = txt.lower()
lyric = re.sub('[,.?:;"\']','',lyric)  #正则表达式清洗标点符号
words = lyric.split()  #断点,打断句子


=================方案一(效率低)==================
word = set(words)      #构建集合 元素无序且不重复可以看数据主要包含那些单词

#res = words.count('')查看单一元素可以使用
dic = {i:words.count(i) for i in word} #构建字典进行对多个元素统计
print(dic)
==================方案二=========================
dic = {}
print(dic.keys())  #字典所有健
print(dic.values())  #字典所有值
print(dic.items())  #字典所有项(健-值对)
for word in words:
    if word in dic.keys():  #keys表示dic字典的所有健
        dic[word] += 1
    else:
        dic[word] = 1
res = sorted(dic.items(),key=lambda x:x[1],reverse=True)  #sorted表示排序 sorted(a,b,c) a表示需要排序的内容 b表示排序的依据 c表示是否反转 默认是由低到高 反转true可以实现由高到低
print(dic)

函数

自定义函数

  • def function(x,y)

    ? return ‘result’

  • 例:自定义一个函数,能求出一组给定数组中奇数的个数

def count(x,z=0):  #x为形参
    for i in x:    #自定义代码块
        if i%2==1:
            z = z+1
    return z

res = count([1,2,3,4,5])
print(res)

==================第二种方式(适用于简单的函数定义)==

y = lambda x:x[1]  #x为返回值 x[1]表示下标为1的值传给x
res = y(['the',7346])

面向对象

类and对象

  • 类:抽象的,是对象的集合

  • 对象:具体的,是类的组成部分

    • 比如:动物是类,可爱的猪猪是对象;电竞选手是类,pdd是对象

如何构建对象

class Human:     #构建类关键词class
    def __init__(self,sex=None,age=None): #构造函数
        print('hello')
        self.sex = sex
        self.age = age
        
    def sqrt(self,x):  #定义一个函数(在面向对象是就称为方法)self是默认参数指的是对象,x为参数
        print('1:hello')
        return x**2
    
zhangfei = Human()  #对象实例化
res = zahngfei.sqrt(10) #10表示传值 .sqrt表示调用方法
res = zhangfei.sex
res = zhangfei.age
print(res)

在其他类中调用类

模块

  • 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py

  • #!/usr/bin/python3

    #Filename:test.py

    #导入模块

    import support

    #现在可以调用模块里包含的函数了

    support.print_func(“Runoob”)

  • 标准模块:math,random

from 想调用的类 import 想调用的方法  #调用类的方法

form 想调用的类 import 想调用的方法 as 别名 #as表示起别名

import 想调用的类  #调用脚本 使用这样格式需要.方法

#注意:import是有优先级的,查看用以下代码
import sys
res = sys.path
print(res)

第三方库的安装

  • 安装:pip3 install packagename(numpy,pandas)
  • 导入:
  1. import packagename
  2. import packagename import function_name
  • 调用
  1. packagename.function_name
  2. new_name.function_name
  3. function_name
#查看安装包路径
import sys
res = sys.path
print(res)

#对象实例化
res = zahngfei.sqrt(10) #10表示传值 .sqrt表示调用方法
res = zhangfei.sex
res = zhangfei.age
print(res)


## 在其他类中调用类

模块

- 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py

- #!/usr/bin/python3

  #Filename:test.py

  #导入模块

  import support

  #现在可以调用模块里包含的函数了

  support.print_func("Runoob")

- 标准模块:math,random

```python
from 想调用的类 import 想调用的方法  #调用类的方法

form 想调用的类 import 想调用的方法 as 别名 #as表示起别名

import 想调用的类  #调用脚本 使用这样格式需要.方法

#注意:import是有优先级的,查看用以下代码
import sys
res = sys.path
print(res)

第三方库的安装

  • 安装:pip3 install packagename(numpy,pandas)
  • 导入:
  1. import packagename
  2. import packagename import function_name
  • 调用
  1. packagename.function_name
  2. new_name.function_name
  3. function_name
#查看安装包路径
import sys
res = sys.path
print(res)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 10:46:25  更:2021-08-02 10:48:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 11:41:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码