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=" ") #endprint() #换行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)breakelse: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
#结果
1,2,3giao[3:6]
#结果
4,5,"天王盖地虎"giao[:3]
#结果
1,2,3giao[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] += 1else: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+1return zres = 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:     #构建类关键词classdef __init__(self,sex=None,age=None): #构造函数print('hello')self.sex = sexself.age = agedef sqrt(self,x):  #定义一个函数(在面向对象是就称为方法)self是默认参数指的是对象,x为参数print('1:hello')return x**2zhangfei = 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基础(大数据)[完结]相关推荐

  1. 视频教程-数据挖掘基础:零基础学Python数据分析-大数据

    数据挖掘基础:零基础学Python数据分析 辽宁师范大学教师,特聘教授,硕士生导师.大数据与商务智能实验室主任. 李洪磊 ¥198.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术 ...

  2. pythonppt教材_PPT、H5、Python、大数据……浙江中小学新教材9月投入使用!

    今年9月的新学期,浙江三到九年级信息技术课将替换新教材.消息一出,引起浙江学生家长的关注. 其中最大的变化是,八年级将新增Python课程内容.新高一信息技术编程语言由VB替换为Python,大数据. ...

  3. python大数据分析实例-如何用Python分析大数据(以Twitter数据挖掘为例)

    原标题:如何用Python分析大数据(以Twitter数据挖掘为例) 来源:艾翻译(http://www.itran.cc/) 原文标题:Twitter Data Mining: A Guide to ...

  4. python做大数据的框架_Python+大数据计算平台,PyODPS架构手把手教你搭建

    原文链接:http://click.aliyun.com/m/13965/ 在2016年10月的云栖社区在线培训上,来自阿里云大数据事业部的秦续业分享了<双剑合壁--Python和大数据计算平台 ...

  5. python开发转行做数据分析_转行学IT,Java、Python、大数据选择学哪个发展好?

    对薪资不满意.担心自己以后不好找工作,不少人都会选择参加培训,转行IT行业.当然很多想要转行IT的人,都会犹豫选择哪门编程语言学习比较好,Python.Java.大数据作为比较热门行业技术,不少人都很 ...

  6. 基于python的分布式扫描器_一种基于python的大数据分布式任务处理装置的制作方法...

    本发明涉及数据处理技术,具体是一种基于python的大数据分布式任务处理装置. 背景技术: 本发明提供一种分布式队列任务处理方案和装置,该方法可以提供分布式处理python任务,任务类型包括爬虫及其他 ...

  7. python 写入excel 日期_详解:Python实现大数据收集至excel的思路大牛分享(建议收藏)...

    一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入 ...

  8. 2018年python工作好找吗-2018年最新数据:python、大数据、人工智能从业者薪资表...

    问一个很现实的问题,以你目前的薪资,多久能赚到100万? 在一线城市,年薪10万仅能饱腹,就算熬夜加班苦干10年达到100万,相信也所剩无几. 所以要想多赚钱,就要转变思路.勤奋努力,年薪30万并不是 ...

  9. python 免费空间_用python做大数据

    不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...

  10. 浙江小学python教材_PPT、H5、Python、大数据……浙江中小学新教材9月投用!

    今年9月的新学期,浙江三到九年级信息技术课将替换新教材.消息一出,引起浙江学生家长的关注. 其中最大的变化是,八年级将新增Python课程内容.新高一信息技术编程语言由VB替换为Python,大数据. ...

最新文章

  1. Mybatis常见面试题(三)
  2. 漫画 | 小公司卧薪尝胆三年,意外拿到美团offer
  3. 4.Boost之ref
  4. 【Linux】一步一步学Linux——fgrep命令(了解)(51)
  5. OpenResty-Nginx安装目录介绍
  6. linux判断文件写入完毕,linux文件编程——系统调用(打开、写入、读取、访问判断)...
  7. android 字符串对齐,android – 使用Spanable String对齐ImageSpan
  8. 3dsmax学校教室模型_从小学教室到大学教室的开放项目合作
  9. 深入Python字典的内部实现
  10. net2.0如何修改用户密码的解决
  11. NeatUpload 同时选择并上传多个文件
  12. Google式用户体验的十大内在原则
  13. java 加水印_Java添加水印(图片水印,文字水印)
  14. python transforms_pytorch中的transforms模块实例详解
  15. 凹函数和凸函数,Concave Function和Convex Function
  16. vuejs v-bind给元素添加属性
  17. paddle 图标注_安卓|尺寸标注工具,让标注更加方便
  18. 计算机毕业设计-校园疫情防控系统【PHP源码】
  19. Mendix学习(2021年7月28日)
  20. Python之strip()

热门文章

  1. 半导体工艺:Bulk Si,SOI,FinFET,GAA等工艺
  2. 关于uniapp小程序发布新版本,小程序不及时更新问题记录
  3. UBC计算机专业好进吗,硕士转专业逆袭——UBC计算机
  4. 小i机器人智慧法律服务亭:百姓身边的法律武器
  5. 学习使用junit进行单元测试,
  6. STC89C52RC软件IIC驱动
  7. Pandoc 从入门到精通,你也可以学会这一个文本转换利器
  8. AutoCAD2006激活方法
  9. 【面试经历】美团2020秋招测试开发一面二面
  10. python标记_python关于信息标记的三种形式