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='$')
a=input('请输入一行内容')
print(a)
b=input('')
print(b)
a=input('请输入字符')
b=type(a)
print(b)
变量=eval(字符串)
#a=eval('1+2')等效于a=1+2
a=eval('1+2')
print(a)
eval()函数经常和input函数一起使用,用来获取用户输入的数字
变量=eval(input(‘提示性文字’))
b=eval(input('请输入数字'))
print(b)
允许 采用大写字母、小写字母、数字、下划线和汉字等字符及其组合给变量命名
不允许 名字首字符不能是数字,中间不能有空格,标识符【对大小写敏感】名称不能与Python保留字相同
整数
#十进制
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()获取数据类型
print('司六米希')
print("hhh")
#获取1-2【不包含2】的子串
print('司六米希'[1:2])
#获取长度1
print(len('hhhhhh'))
#获取长度2
a=len('hhhhhh')
print(a)
存在同步赋值
赋值语句
a=102*2
print(a)
b='司六'+'米希'
print(b)
#同步赋值
c,d=5,6
c,d=d,c
print(c,d)
注释采用#
浮点数必须带有小数部分
pow(x,y)=x的y次方
round(x,d) 对x进行四舍五入,其中参数d指定保留的小数位数
注意: 复数类型中实部和虚部都是浮点类型,对于复数z,可以用z.real获得实数部分,z.imag获得虚数部分
9个
注意:
查询所有内置函数----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...)获取最小值
单行字符串和多行字符串
#单行字符串
print('hhh')
print("hhh")
#多行字符串
print('''hhhh
kkk
lll''')
print("""hhh\
kkk
lll""")
反斜杠\可以实现续行
print('123456789'[x:y:z])
x起始,y结束,z步长
模板字符串.format(逗号分隔的参数)
print('hhh'+'JJJ')
print('hh'*3)
print('sl'in 'slmx')#sl是slmx的字串,返回true
if 条件 :
满足条件输出的结果
注意:python中任何非零的数值、非空的数据类型都等价于True,0等价于False,可以直接用作判断条件
循环结构分为遍历循环和无限循环
遍历结构可以是字符串、文件、range()函数或组合数据类型
for c in "1234":
print(c)
for c in range(10):
print(c)
for c in "1234":
if c=='3':
break
print(c)
for 循环变量 in 遍历结构
语句块1 else:
语句块2
for c in "1234":
if c=='3':
continue
print(c)
else:
print('over')
while 条件:
语句块
当程序执行到while语句时,判断条件如果为True,执行语句块,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止。继续后续语句。
n=0
while n<10:
print(n)
n=n+3
print('程序结束')
while 条件:
语句块1
else:
语句块2
try:
语句块1
except:
语句块2
while True:
try:
n=eval(input('请输入数字'))
break
except:
print('错误')
print('输入了',n)
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)
def hh(a,b):
return a-b,a+b
k,l=hh(4,2)
print(k,l)
n=2
def hh(x=2):
global n
return x*n
s=hh(3)
print(s)
# 集合类型有4种操作符
s={1,2,3,4}
a={2,5}
# 差集
print(s-a)
# 交集
print(s&a)
# 补集
print(s^a)
#并集
print(s|a)
利用s.查询可用方法
print(list('列表可以生成字符串'))
列表的索引,用于获取列表的一个元素。使用中括号作为索引操作符。可以使用遍历循环对列表类型的元素进行遍历操作,基本使用方式如下:
for 循环变量 in 列表变量:
语句块
s=[10,'2030',3]
for i in s:
print(i*2)
2.元组tuple【与列表类似,但是元组的元素不能修改,元组使用小括号()】
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)
文件两种类型
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,+】
f.read(size=-1)
f.readline()
f.readlines()
f.seek(offset)改变当前文件操作指针的位置,offset的值【0:文件开头,2:文件结尾】
注意:文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针将向前进,再次读取的内容将从指针的新位置开始。
一维数据、二维数据、三维数据
一维数据保存为csv格式后,各元素采用逗号分隔,形成一行,这里的逗号是英文逗号。
siliu=['司','六','米','希']
f=open("F:\\hh.csv",'w')
f.write(",".join(siliu)+"\n")
f.close()
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)
f=open("F:\\hh.csv",'r')
siliu=f.read()
f.close()
print(siliu)
si=[['你好','2019','2020','2021'],['加油','2022','2023','2024']]
f=open("F:\\ll.csv",'w')
for row in si:
f.write(",".join(row)+ '\n')
f.close()
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)
class 类的名称()
“”“类的说明文档”“”
def __init__(self,.....):
pass
给属性指定默认值
self.属性名=默认值
修改属性的值
对象的名称.属性名=修改值
class 子类名(父类名)
“”“类的说明文档”“”
def __init__(self,.....):
super().__init__()【将父类和子类进行关联】
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.time()
# 获取世界同一时间
time.gmtime()
# 获取本地时间
time.localtime()
# 易读的字符串表示,本地时间
time.ctime()
time.mktime()
# 时间格式化最有效的方法,几乎可以以任何通用格式输出时间。该方法利用一个格式字符串,对时间格式进行表达
time.strftime()
# 与strftime()方法完全相反,用于提取字符串中时间来生成strut_time对象,可以很灵活的作为time模块的输入接口
time.strptime()
# 推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起(睡眠)的时间
time.sleep()
time.monotonic()
# 返回一个性能计数器的值(在分秒内),即一个具有最高可用分辨率的时钟,以测量短时间,它包括了在
time.perf_counter()
import random
random.seed(1)
a=random.random()
print(a)
import random
a=['司','六']
print('谁最棒'+random.choice(a))
a=['剪子','石头','布']
random.shuffle(a)
print(a)
a=['剪子','石头','布']
print(random.sample(a,2))
turtle库主要包含三个类:窗体函数、画笔状态函数、画笔运动函数
【十几万个第三方库】
网络爬虫
用户图形界面
机器学习
Web开发
游戏开发
第三方库安装的方法
pip是一个现代的、通用的Python包管理工具。提供了对Python包的查找、下载、安装、卸载的功能
使用jieba库
import jieba
print(jieba.lcut("司六是一个很棒的小朋友"))
import wordcloud
txt='I am a nice baby. baby? Yep, I am'
si=wordcloud.WordCloud().generate(txt)
si.to_file('test.png')
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')
注意: 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')
注意:词云一定要font_path="msyh.ttc"设置字体,否则会发现无法显现,并且这并不是编码问题
PyQt5是一个用于创建GUI【用户图形界面】应用程序的跨平台的工具包
pyinstaller 能够在Windows、Linux、Mac OS X等操作系统下将Python源文件打包,变成直接可运行的可执行文件
pyinstaller 优点:通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理