【python语言学习】基础合集

Python+Pycharm

  • 1. 基本输入输出函数
    • print
    • input
    • eval
  • 2. 变量及保留字
    • 变量命名规则
  • 3. 数据类型
  • 4.字符串类型
  • 5.表达式赋值语句及注释
  • 6.浮点数及复数
    • 浮点数
    • pow()
    • round
    • 复数
  • 7.数字运算
  • 8.内置函数
  • 9.字符串类型
  • 10. 字符串切片
  • 11.字符串处理方法
  • 12.字符串格式化
  • 13. 字符串类型的操作
  • 14.if语句
  • 15. for循环
  • 16.无限循环
  • 17.异常处理
  • 18.函数的基本使用
  • 19.组合数据
  • 20.文件的使用
  • 21.文件的读写
  • 22.数据的维度
  • 23.csv文件
  • 24. 二维数据的存储
  • 25.面向对象(C++,Java,Python)
  • 26.导入类[4种方法]
  • 数组和列表
  • 27. **time库**【时间处理、时间格式化、计时】
  • 28.random库随机数据
  • 29.turtle库
  • 30.第三方库
  • 31.第三方库的下载安装
  • 32.中文分词
  • 33.词云wordcloud库
  • 34.PyQt5
  • 35.PyInstaller库

1. 基本输入输出函数

print

print("HHH")
print('HHHH')
a=123
print(a)
b=456
print(a,b)
print('a的值为{},b的值为{}'.format(a,b))
# 换行
c=3
d=4
print(c)
print(d)
#不换行
c=3
d=4
print(c,end='')
print(d,end='')
print(c)
c=3
d=4
print(c,end='#')
print(d,end='$')

input

a=input('请输入一行内容')
print(a)
b=input('')
print(b)

【python语言学习】基础合集_第1张图片
【input 默认保存为是字符串类型】

a=input('请输入字符')
b=type(a)
print(b)

在这里插入图片描述

eval

变量=eval(字符串)

#a=eval('1+2')等效于a=1+2
a=eval('1+2')
print(a)

eval()函数经常和input函数一起使用,用来获取用户输入的数字
变量=eval(input(‘提示性文字’))

b=eval(input('请输入数字'))
print(b)

2. 变量及保留字

变量命名规则

允许 采用大写字母、小写字母、数字、下划线和汉字等字符及其组合给变量命名
不允许 名字首字符不能是数字,中间不能有空格,标识符【对大小写敏感】名称不能与Python保留字相同
【python语言学习】基础合集_第2张图片

3. 数据类型

整数

#十进制
print(180)
#二进制0b/0B开头
print(0b11)
#八进制0o/0O开头
print(0O11)
#十六进制0x/0X开头
print(0xb4)

浮点数

print(12.3e2)
print(123.4e-2)
print(123.4e+2)

使用type()获取数据类型

4.字符串类型

print('司六米希')
print("hhh")
#获取1-2【不包含2】的子串
print('司六米希'[1:2])
#获取长度1
print(len('hhhhhh'))
#获取长度2
a=len('hhhhhh')
print(a)

5.表达式赋值语句及注释

存在同步赋值
赋值语句

a=102*2
print(a)
b='司六'+'米希'
print(b)
#同步赋值
c,d=5,6
c,d=d,c
print(c,d)

注释采用#

6.浮点数及复数

浮点数

浮点数必须带有小数部分

pow()

pow(x,y)=x的y次方

round

round(x,d) 对x进行四舍五入,其中参数d指定保留的小数位数

复数

注意: 复数类型中实部和虚部都是浮点类型,对于复数z,可以用z.real获得实数部分,z.imag获得虚数部分

7.数字运算

9个
注意:

  1. 整数和浮点数混合运算结果是浮点数
  2. 整数之间运算,产生结果类型与操作符相关,/运算的结果是浮点数
  3. 整数或浮点数与复数运算,结果是复数

8.内置函数

查询所有内置函数----print(dir(__builtins__))
print(help(内置函数))----查询具体函数功能
print(dir(变量))获取变量的方法
abs(x)#x的绝对值
divmod(x,y)#(x//y,x%y),输出为二元组形式
pow(x,y,z)#(x**y)%z
round(x,ndigits)#对x四舍五入,保留ndigits位小数,round(x)返回四舍五入的整数值
max(q,w,e,r....)获取最大值
min(Q,W,W,E...)获取最小值

9.字符串类型

单行字符串和多行字符串

#单行字符串
print('hhh')
print("hhh")
#多行字符串
print('''hhhh
kkk
lll''')
print("""hhh\
kkk
lll""")

反斜杠\可以实现续行

10. 字符串切片

print('123456789'[x:y:z])
x起始,y结束,z步长

11.字符串处理方法

【python语言学习】基础合集_第3张图片

12.字符串格式化

模板字符串.format(逗号分隔的参数)

13. 字符串类型的操作

print('hhh'+'JJJ')
print('hh'*3)
print('sl'in 'slmx')#sl是slmx的字串,返回true

14.if语句

if 条件 :
满足条件输出的结果
注意:python中任何非零的数值、非空的数据类型都等价于True,0等价于False,可以直接用作判断条件

15. for循环

循环结构分为遍历循环和无限循环
遍历结构可以是字符串、文件、range()函数或组合数据类型

  • 遍历循环(for)
for c in "1234":
    print(c)
  • range(start,stop,step)
for c in range(10):
    print(c)
  • 跳出循环break/continue
for c in "1234":
    if c=='3':
        break
    print(c)
  • 遍历循环的扩展模式
    当for循环正常执行之后,程序会继续执行else语句中的内容。else语句只在循环正常执行之后才执行并结束,因此,可以在语句块2中放置判断循环执行情况的语句

for 循环变量 in 遍历结构
语句块1 else:
语句块2

for c in "1234":
    if c=='3':
        continue
    print(c)
else:
    print('over')

16.无限循环

while 条件:
语句块

当程序执行到while语句时,判断条件如果为True,执行语句块,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止。继续后续语句。

n=0
while n<10:
    print(n)
    n=n+3
print('程序结束')
  • 无限循环的扩展模式
    当while循环正常执行之后,程序会继续执行else语句的内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句
while 条件:
      语句块1
else:
	  语句块2

17.异常处理

try:
    语句块1
except:
    语句块2
while True:
    try:
        n=eval(input('请输入数字'))
        break
    except:
        print('错误')
print('输入了',n)

18.函数的基本使用

  • 函数的定义
def 函数名(参数列表):
	函数体
	return 返回值列表
  • 函数的参数传递❤
    函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代
def 函数名(非可选参数列表,可选参数=默认值):
	函数体
	return 返回值列表

可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值


def heart(a,b):
    print('\n'.join([''.join([(a[(y-x)%len(a)]\
    if((x*0.04)**2+(y*0.1)**2-1)**3-(x*0.04)**b*(y*0.1)**3\
    <= 0 else '') for x in range(-30,30)]) \
             for y in range(30,-12,-1)]))

heart('小司六',2)
  • return语句
    return语句可以出现在函数中的任何部分,同时可以将0个、1个或多个函数运算的结果返回给函数被调用处的变量
def  hh(a,b):
    return a-b,a+b
k,l=hh(4,2)
print(k,l)
  • 变量的作用域
    全局变量是指在函数之外定义的变量,在执行程序全过程有效。全局变量在函数内部使用时,需要提前使用保存字global声明
n=2
def hh(x=2):
    global n
    return x*n
s=hh(3)
print(s)

19.组合数据

  • 集合类型【元素间无序且相同元素唯一存在】
# 集合类型有4种操作符
s={1,2,3,4}
a={2,5}
# 差集
print(s-a)
# 交集
print(s&a)
# 补集
print(s^a)
#并集
print(s|a)

利用s.查询可用方法
  • 序列类型【元素之间有先后关系,通过序号访问,元素之间不排他,典型代表:字符串、列表、元组】
    1.列表类型,用[]表示【列表没有长度限制,元素类型可以不同,允许相同元素的存在】
    可通过list(x)函数将集合或字符串类型转换成列表类型
print(list('列表可以生成字符串'))

列表的索引,用于获取列表的一个元素。使用中括号作为索引操作符。可以使用遍历循环对列表类型的元素进行遍历操作,基本使用方式如下:

for 循环变量 in 列表变量:
	语句块
s=[10,'2030',3]
for i in s:
    print(i*2)

2.元组tuple【与列表类似,但是元组的元素不能修改,元组使用小括号()】

  • 映射类型【是‘键-值’数据项的组合,每个元素是一个键值对,表示为(key,value),映射类型的典型代表是字典(dict)】
    字典【使用大括号{}建立,每个元素是键值对】
    字典通过键进行索引
d={'1':"a",'2':"b"}
print(d)
d['1']="c"
print(d)
#空字典
t={}
t['司六']="6"
t['米希']="7"
print(t)

字典的遍历循环【for循环返回的变量名是字典的索引值【键】,如果需要获得键的对应的值,可以在语句块中通过get()方法获得】
for 变量名 in 字典名
语句块

d={'1':"a",'2':"b"}
for i in d:
    print(i)

20.文件的使用

文件两种类型

  • 文本文件:由单一特定编码的字符组成 eg:txt文件
  • 二进制文件:二进制文件直接由比特0和比特1组成,文件内部数据的组织格式与文件用途有关 eg:视频、图片
    Python对文本文件和二进制文件都有同一的操作步骤,即"打开-操作-关闭"
    文件使用结束后要用close()方法关闭,释放文件的使用授权【变量名.close()】
f=open("F:\\text.txt",'r')
print(f.readline())
f.close()

读取中文乱码解决方法

with open('F:\\hh.txt',mode='r',encoding='utf-8')  as file:
    str=file.readlines()
    print(str)

打开模式
【r,w,x,a,b,+】

21.文件的读写

f.read(size=-1)
f.readline()
f.readlines()
f.seek(offset)改变当前文件操作指针的位置,offset的值【0:文件开头,2:文件结尾】
注意:文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针将向前进,再次读取的内容将从指针的新位置开始。

22.数据的维度

一维数据、二维数据、三维数据

23.csv文件

一维数据保存为csv格式后,各元素采用逗号分隔,形成一行,这里的逗号是英文逗号。

  • 数据写为csv文件
siliu=['司','六','米','希']
f=open("F:\\hh.csv",'w')
f.write(",".join(siliu)+"\n")
f.close()

【python语言学习】基础合集_第4张图片

  • csv文件还原为数据
f=open("F:\\hh.csv",'r')
siliu=f.read().strip("\n").split(",")
f.close()
print(siliu)

在这里插入图片描述
strip() 方法用于移除字符串头尾指定的字符(默认为空格)

f=open("F:\\hh.csv",'r')
siliu=f.read().split(",")
f.close()
print(siliu)

在这里插入图片描述
split()方法通过指定分隔符对字符串进行切片

 f=open("F:\\hh.csv",'r')
siliu=f.read()
f.close()
print(siliu)

在这里插入图片描述

24. 二维数据的存储

si=[['你好','2019','2020','2021'],['加油','2022','2023','2024']]
f=open("F:\\ll.csv",'w')
for row in si:
    f.write(",".join(row)+ '\n')
f.close()

【python语言学习】基础合集_第5张图片

f=open("F:\\ll.csv",'r')
siliu=[]
for line in f:
    a=line.strip('\n')
    print(a)
    b=a.split(',')
    print(b)
    siliu.append(b)
f.close()
print(siliu)

【python语言学习】基础合集_第6张图片

25.面向对象(C++,Java,Python)

  • 类的使用
class 类的名称()
	“”“类的说明文档”“”
	def __init__(self,.....:
		pass
  • 修改类的属性
给属性指定默认值
self.属性名=默认值
修改属性的值
对象的名称.属性名=修改值
  • 继承
    注意子类必须写在父类后面
class 子类名(父类名)
	“”“类的说明文档”“”
	def __init__(self,.....:
		super().__init__()【将父类和子类进行关联】

26.导入类[4种方法]

Python可以将类存储在模块中,然后在主程序中导入所需要的模块

  • 导入单个类
from 模块名 import 类名
打开指定模块名文件并导入类在本文件中
在一个模块中可以同时存储多个类
  • 从一个模块中导入多个类
from 模块名 import 类名1,类名2
  • 导入整个模块
import 模块名
导入整个模块,在使用过程中需要以句点的形式访问模块中的类
eg:模块a中有类A1,A2,A3,而在主程序中使用类时为:
a.A1
a.A2
a.A3
  • 导入模块中的所有类
from 模块名 import* 

数组和列表

数组和列表互换

import numpy as np
 
arr = np.array([1, 2, 3])
print(f'NumPy Array:\n{arr}')
 
list1 = arr.tolist()
print(f'List: {list1}')

Series.tolist()

标准库+第三方库

  • 标准库【time库–获取时间、random库–随机数、turtle库–图形绘制库】【查询库使用 help(‘modules’)】

27. time库【时间处理、时间格式化、计时】

  1. 时间处理
# 获取时间戳【用来记录性能时间差】
 time.time()
# 获取世界同一时间 
 time.gmtime()
# 获取本地时间
 time.localtime()
# 易读的字符串表示,本地时间
 time.ctime()
  1. 时间格式化
 time.mktime()
 # 时间格式化最有效的方法,几乎可以以任何通用格式输出时间。该方法利用一个格式字符串,对时间格式进行表达
 time.strftime()
 # 与strftime()方法完全相反,用于提取字符串中时间来生成strut_time对象,可以很灵活的作为time模块的输入接口
 time.strptime()
  1. 计时
# 推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起(睡眠)的时间
time.sleep()
time.monotonic()
# 返回一个性能计数器的值(在分秒内),即一个具有最高可用分辨率的时钟,以测量短时间,它包括了在
time.perf_counter()

28.random库随机数据

  • random()生成一个[0.0,1.0)之间的随机小数
  • seed()初始化随机数种子,默认值为当前系统时间,【当seed()给固定参数时有固定随机值】
import random
random.seed(1)
a=random.random()
print(a)
  • choice(seq)从序列类型(例如:列表)中随机返回一个元素
import random
a=['司','六']
print('谁最棒'+random.choice(a))
  • shuffle(seq)将序列类型中元素随机排序,返回打乱后的序列
a=['剪子','石头','布']
random.shuffle(a)
print(a)
  • sample(pop,k)从pop类型中随机选取k个元素,以列表类型返回
a=['剪子','石头','布']
print(random.sample(a,2))

29.turtle库

turtle库主要包含三个类:窗体函数、画笔状态函数、画笔运动函数

  • 窗体函数【设置主窗体的大小和位置】
    turtle.setup(width,height,startx,starty)
    需要与turtle.done()进行配合
  • 画笔运动函数
    forward()沿着当前方向前进指定距离 fd缩写也可以
    backward()沿着当前相反方向后退指定距离 bk缩写
    right(angle)向右旋转angle角度【与之前角度有关】
    setheading(angle)设置朝向为angle角度【基准是直角坐标系】 seth缩写
    goto(x,y)移动到绝对坐标值
    circle(radius,e)绘制一个指定半径r和角度e的圆或弧形
    undo()撤销画笔最后一步动作
    speed()设置画笔的绘制的速度,参数为0-10之间
  • 画笔状态函数
    penup()提起画笔
    pendown()放下画笔,与penup()配对使用
    pensize(width)设置画笔线条的粗细为指定大小
    color()设置画笔颜色
    begin_fill()填充图形前,调用该方法,与end_fill搭配使用
    filling()返回填充的状态,true为填充
    clear()清空当前窗口,但不改变当前画笔的位置
    reset()清空当前窗口,并且重置位置等状态为默认值
    screensize()设置画布的长和宽
    hideturtle()隐藏画笔的turtle形状
    showturtle()显示画笔的形状
    isvisible()如果turtle可见,则返回true

30.第三方库

【十几万个第三方库】
网络爬虫

  • requests
  • scrapy

用户图形界面

  • PyQt5
  • wxPython
  • PyGTX

机器学习

  • scikit-learn(sklearn)
  • TensorFlow
  • Theano

Web开发

  • Django
  • Pyramid
  • Flask

游戏开发

  • Pygame
  • Panda3D
  • cocos2d

31.第三方库的下载安装

第三方库安装的方法

  • 安装包管理工具:easy_install、pip【√】
  • 源文件安装
  • Pycharm安装第三方库

pip是一个现代的、通用的Python包管理工具。提供了对Python包的查找、下载、安装、卸载的功能

  • 安装一个库的命令格式
    pip install <拟安装库名>
  • 列出当前系统已经安装第三方库的命令格式
    pip list
  • 卸载一个已经安装第三方库的命令格式
    pip uninstall<拟卸载库名>
  • 列出某个已经安装库详细信息的命令格式
    pip show <拟查询库名>

第三方库下载地址更改
采用镜像
【python语言学习】基础合集_第7张图片
【python语言学习】基础合集_第8张图片

  • 注意可创建新环境优点
    Python项目可用独立部署
    防止一台服务器部署多个项目之间存在类库的版本依赖问题发生
    充分发挥项目的灵活性

32.中文分词

使用jieba库

import jieba
print(jieba.lcut("司六是一个很棒的小朋友"))

【python语言学习】基础合集_第9张图片

33.词云wordcloud库

  • 什么是词云?
    以词语为基本单元,根据其在文本中出现的频率设计不同大小以形成视觉上不同效果,形成"关键词云层"或"关键词渲染",从而使读者只要"一瞥"即可领略文本的主旨。
  • 词云的原理
    在生成词云时,wordcloud默认会以空格或标点为分隔符对目标文本进行分词处理。对于中文文本,分词处理需要由用户来完成。一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数
  • 核心函数
    wordcloud库的核心是WordCloud类,所有的功能都封装在WordCloud类中。使用时需要实例化一个WordCloud类的对象,并调用其generate(text)方法将text文本转化为词云。
import wordcloud
txt='I am a nice baby. baby? Yep, I am'
si=wordcloud.WordCloud().generate(txt)
si.to_file('test.png')

【python语言学习】基础合集_第10张图片

import wordcloud
import jieba
txt='司六米希好好学习天天向上白白胖胖长高高'
words=jieba.lcut(txt)
newtxt=' '.join(words)
wd=wordcloud.WordCloud(font_path="msyh.ttc",width=500,height=300).generate(newtxt)
wd.to_file('词云.png')

【python语言学习】基础合集_第11张图片
注意: scipy库中的imread要被弃用,需要改成这样from imageio import imread

import wordcloud
# from scipy.misc import imread
from imageio import imread
mask=imread('heart.jpg')
with open('词云填充内容.txt','r', encoding='utf-8', errors='ignore') as file:
    text=file.read()
    wd=wordcloud.WordCloud(font_path="msyh.ttc",background_color="pink",width=500,height=300,mask=mask).generate(text)
wd.to_file('词云2.png')

【python语言学习】基础合集_第12张图片
注意:词云一定要font_path="msyh.ttc"设置字体,否则会发现无法显现,并且这并不是编码问题

34.PyQt5

PyQt5是一个用于创建GUI【用户图形界面】应用程序的跨平台的工具包

35.PyInstaller库

pyinstaller 能够在Windows、Linux、Mac OS X等操作系统下将Python源文件打包,变成直接可运行的可执行文件
pyinstaller 优点:通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理

  • 打包方法
    pyinstaller
    执行完毕后,源文件所在目录将生成dist和build两个文件夹。最终的打包程序在dist内部与源文件同名的目录中
    pyinstaller -F
    可以通过-F参数对Python源文件生成一个独立的可执行文件
    pyinstaller -F -i <图标名.ico>
    指定打包程序使用的图标(icon)文件
    图片转换为ico格式: 转换
    【python语言学习】基础合集_第13张图片

【python语言学习】基础合集_第14张图片

你可能感兴趣的:(python,pycharm,python,爬虫)