zoukankan      html  css  js  c++  java
  • 变量, 更换镜像源, jieba库, wordcloud库构建词云

    目录

    变量

    什么是变量

    描述世间万物的状态和属性

    变量的组成

    变量名(具有描述意义;接收变量值)

    赋值符号(=)

    变量值(具体的值)

    变量名的命名规范

    1.具有某种实际意义sdfsdfg=10

    2.由字母/数字/下划线组成,不能以数字开头

    3.不能用关键字命名print(print)

    注释

    单行注释

    # 单行注释
    

    1.让后面的字符失效

    2.解释某一行代码(#前面内容运行)

    pycharm中快捷键:ctrl+/

    多行注释

    '''
    多行注释
    多行注释
    多行注释
    '''
    """
    多行注释
    多行注释
    多行注释
    """
    

    turtle库的使用

    pensize      画笔大小
    pencolor     画笔颜色
    penmode      画笔颜色控制(精确)
    
    goto         到达某一个点
    
    seth         绝对方向
    left         相对向左
    right        相对向右
    
    fd           前进
    bk           后退
    circle       画圆
    
    pu           抬起画笔
    pd           落下画笔
    
    fillcolor    填充颜色
    begin_fill   开始填充
    end_fill     结束填充
    
    

    数据类型基础

    变量:描述世间万物的状态或者属性的量

    组成:变量名 = 变量值 --》码畜

    具体的值

    外貌=’帅‘
    
    height=180
    
    weight=140
    
    hobby_list='读书/听音乐/博物馆/跑步(马拉松)'
    
    print(hobby_list[4:7])
    
    
    
    #存不是目的,取才是目的
    
    hobby_list1=['读书','听音乐']
    
    print(hobby_list1[0])
    
    
    
    #为了描述世间万物的状态,因此有了数据类型:对数据分类(python创始人规定的)
    

    数字类型

    整型

    1.作用

    身份证/电话号/

    2.定义方式(python和现实)

    #nick_id=360281
    
    nick_id1=360281
    
    #print(nick_id1)
    
    nick_id2=int(360281) #未来将强制类型转换时候会讲
    
    print(nick_id2)
    

    3.使用方法

    x=1
    
    y=2
    
    print(x+y)
    
    print(x-y)
    
    print(x*y)
    
    ==print(x/y)==
    
    ==print(x%y) #取余==
    
    ==print(x//y) #取整==
    
    ==print(x**y) #求幂==
    
    用其他数学公式
    
    import cmath #科学计算器
    
    cmath.log()   -->默认以e为底
    
    cmath.cos()
    
    print(cmath.pi)
    
    print(cmath.e)   -->自然底数
    

    print(x/y)

    print(x%y) #取余

    print(x//y) #取整

    print(x**y) #求幂

    浮点型

    1.作用:薪资3.1w/

    2.定义方式

    salary=3.1
    
    print(salary)
    
    salary1=float(3) #强制类型转换(动态语言),静态语言不能改变
    
    height=int(180.5)
    
    print(salary) #3.0
    
    print(height)
    

    3.使用方法

    /

    %

    //

    **

    字符串类型

    什么是字符串

    字符(空字符,输入的所有内容都叫字符)+串-->把字符串起来,一串字符

    1.作用

    姓名/性别

    2.定义方式

    name='nick' # 单引号内把字符串起来
    name # 没有单引号串起来的字符都叫变量名
    name1="nick"
    height='nick"s height' #读取第一个引号的时候字符串开始,第二个引号结束,
    height="nick's height"
    # 学文科的一定要科普理科知识;学理科的科普文科知识
    poem='''
    孩儿立志出湘关,学不成名誓不还;
    埋骨何须桑梓地,人生无处不青山.
    '''  
    # -->单引号只适用于单行字符串 
    #多行字符串用三引号定义,
    #三引号还可以作注释(当定义的多行字符串只用来存而不用来取时,可以作注释的作用),
    #三引号还可以用来换行
    #三引号在里面加单引号或双引号没有任何问题
    poem=''# 识别两个单引号结束(第一次判定为空字符串)'#但是python结束器会继续翻译下一个字符,此时判定字符串的开始符是''',所以结束符也必须是'''
    #三双引号,和三单引号一样
    name2=str('nick')
    height_str='180'
    print(height_str,type(height_str))
    height=int('180')
    print(height,type(height))
    height_int=180
    height2=str(height_int)
    print(type(height2))
    #字母型字符串不能转换成整型
    
    
    
    
    

    name='nick # 单引号内把字符串起来
    name # 没有单引号串起来的字符都叫变量名

    #-->单引号只适用于单行字符串

    #多行字符串用三引号定义,
    #三引号还可以作注释(当定义的多行字符串只用来存而不用来取时,可以作注释的作用),
    #三引号还可以用来换行
    #三引号在里面加单引号或双引号没有任何问题
    poem=''# 识别两个单引号结束(第一次判定为空字符串)'#但是python结束器会继续翻译下一个字符,此时判定字符串的开始符是''',所以结束符也必须是'''
    #三双引号,和三单引号一样
    #字母型字符串不能转换成整型

    3.使用方法(内置方法-->只有字符串才能使用,其他数据类型无法使用)

    s='nick handsome'
    print(s.startswith('nick')) 
    print(s.endswith('a'))
    
    
    
    
    

    startswith-->以...开始,返回值true/false

    endswith-->以...结束,返回值true/false

    索引取值

    索引切片

    冒号表示多少到多少,且具有顾头不顾尾的特性

    步长

    #索引取值
    poem2='''孩儿立志出湘关,学不成名誓不还;埋骨何须桑梓地,人生无处不
    #        0 1 2 3 4 5 6 7 8 9 #索引描述了字符的位置,从0开始
    
                                                   青山.'''
    #                                           -4-3-2-1
    print(poem2[0]) #孩
    print(poem2[-1]) #.
    #索引切片
    print(poem2[0:6]) #冒号表示多少到多少,且具有顾头不顾尾的特性
    print(poem2[2:4]) 
    #步长
    print(poem2[0:7:2]) #孩立出关
    
    

    补充:拼接函数join的使用

    lis=['a','b','c','d']
    res='+'.join(lis) #按照字符串把列表里的每一个元素取出来拼接,输出格式按照字符串输出
    print=(res)
    s='a*b*c*d'
    print(s.split('*'))
    
    
    

    作用:#按照字符串把列表里的每一个元素取出来拼接,输出格式按照字符串输出

    分离函数split的使用

    s='a * b * c * d *'

    print(s.split('*')) #按照 *把字符串切开,然后把切开的元素放入列表内,输出格式为列表格式

    列表类型

    列表类型(容器类型)--放多个数据类型

    gangpao_hobby_list=['dapao','piao','666']
    nick_hobby_list=list(['read','music','run'])
    print(nick_hobby_list)
    s1='nick ugly'
    print(list(s1)) #
    #使用方法
    gangpao_hobby_list=['dapao','piao','666']
    #                     0        1      2
                          -3       -2     -1
    print(gangpao_hobby_list[0])
    print(gangpao_hobby_list[-1])
    print(gangpao_hobby_list[0:2])
    
    

    s1='nick ugly'
    print(list(s1))

    实现方式:list生成列表,通过print函数生成

    先定义一个空列表list=[]

    lis['n','i','c','k',' ','u','g','l','y']

    print(lis)

    释放list del lis

    完成操作,print函数实现

    ==#你使用print的时候其实就是在执行一堆代码,关键字封装了一堆代码,底层自动实现,python封装print函数

    类比 print(10)

    首先定义一个变量a=10,

    print(a),

    del a

    字典类型

    为什么要有字典

    #                   name     weight    hobby_list
    jyy_info_list=['jinyuyang',150,180,       
                        ['jiao','jump_with_fengge','dapao']] 
    print(jyy_nick_info_list[1]) #直接取值可能会弄混
    #字典是什么:{}内有多个键值对
    dic={'name':'jingyuyang','height':150,'weight':180,'hobby_list':['jiao','jump_with_fengge','dapao']}
    print(dic)
    jyy_info_dic={'name':'jingyuyang','height':150,'weight':180,'hobby_list':['jiao','jump_with_fengge','dapao']}
    print(jyy_info_dic['name']) #按key取值
    print(jyy_info_dic['weight'])
    jyy_info_dic['height']=jyy_info_dic['height']+1 #151 #按key修改值
    print(jyy_info_dic)
    del jyy_info_dic['height']
    print(jyy_info_dic)
    

    字典是什么:(新华字典:一个拼音对于一个字)

    什么是键值对​?

    key:value(关键字与值之间具有一一对应的关系)

    键值对必须得是两个数据类型

    key类似于变量名,与变量名不同在于它没引号,一般为字符串具有描述意义,一般为不可变数据类型

    值为具体的值,可以为任意数据类型

    错误示例

    dic={[1]:'jingyuyang','height':150,'weight':180,'hobby_list':['jiao','jump_with_fengge','dapao']}

    print(dic)

    对列表进行了一个改造

    使用方法

    取值

    按key取值,与列表不同,不再有索引

    修改值

    按key修改值

    del删除值

    del jyy_info_dic['height']

    print(jyy_info_dic)

    字典:{}内有多个键值对

    jieba库

    terminal

    cmd命令窗口,占内存

    第三方库安装

    方法一:cmd命令:pip install jieba

    方法二:settings-->project-->project interpreter-->点绿色+号-->搜索-->点install package

    注意点:1.安装时如果卡住ctrl+r刷新

    jieba库-->jieba库一般用于分词

    '中国是一个伟大的国家'

    ' 中国 是 一个 伟大 的 国家'

    原理:把一句话按照词分开,马尔可夫模型

    马尔可夫模型 (一个链构建模型,构建两层实现)

    jieba库三种分词函数函数的使用

    res=jieba.lcut('中华人民共和国是一个伟大的国家')
    print(res)
    res=res=jieba.lcut('中华人民共和国是一个伟大的国家',cut_all=True)
    print(res)
    res=jieba.lcut_for_search('中华人民共和国是一个伟大的国家')
    print(res)
    
    
    

    res=jieba.lcut('中华人民共和国是一个伟大的国家')
    print(res) -->按最长词汇进行切割字符串,并按列表格式输出

    res=res=jieba.lcut('中华人民共和国是一个伟大的国家',cut_all=True)
    print(res) -->把第一个长的单词继续切割

    res=jieba.lcut_for_search('中华人民共和国是一个伟大的国家')
    print(res) -->把所有的全部切出来,出错概率相对大

    更换镜像源

    镜像源修改文章目录

    https://www.cnblogs.com/nickchen121/p/10888887.html

    镜像源

    如果把python比作手机,那么pip就相当于应用管家/app商城,

    因为是外国人写的代码,所以默认从国外下载app,所以速度很慢

    镜像源:将下载地址由国外改成国内

    更改方式路径

    external libraries(外部库)-->python-->lib-->site-packages-->pip-->models-->找到index.py-->在最后一行修改网址,其他不做任何修改

    wordcloud库

    安装词云库

    pip install wordcloud

    使用词云库

    import wordcloud
    import jieba
    s="Nick是上海虹桥最帅的男人,没有之一因为他就是最帅的"
    print(jieba.lcut(s))
    s_lis=jieba.lcut(s) #把字符串切割成列表
    print(''.join(s_list)) #把列表按空格拼接成字符串
    
    w=wordcloud.WordCloud() #生成一个词云对象,接下来的所有操作都靠这个对象做
    w.generate(s) #generate(生成) #产生乱码
    w.to_file('nick.png')
    
    
    
    

    词云是外国人写的,默认支持英文,中文产生乱码,为了实现中文字体,

    s_lis=jieba.lcut(s) #把字符串切割成列表
    print(''.join(s_list)) #把列表按空格拼接成字符串

    其他函数参数使用参见博客,重点mask参数

    首先找到一个白色底五角星的图片,安装scipy库(把图片读入内存),安装pillow库,安装imageio库

    mask参数控住图形输出形状

    构建一幅词云图

    代码

    import wordcloud
    import jieba
    from imageio import imread
    p=imread('tuxingkongzhi.png')
    s="蔡启龙是老男孩最帅的男人,没有之一,因为他就是最帅的"
    jieba.add_word('老男孩')
    s_lis=jieba.lcut(s)
    q=' '.join(s_lis)
    w=wordcloud.WordCloud(font_path='C:WindowsFontsFZSTK',mask=p,background_color='white')
    w.generate(q)
    w.to_file('cql.png')
    

    输出图像

    词云图

  • 相关阅读:
    移动端rem适配
    extern 关键字
    腾讯2014校园招聘软件开发类笔试试题
    堆,栈,堆栈
    转:对TCP/IP网络协议的深入浅出归纳
    转:程序员面试笔试宝典学习记录(一)
    求素数
    [C++]访问控制与继承(public,protect,private) 有时间再整理!!!
    面向对象的static关键字(类中的static关键字)
    腾讯校园招聘会笔试题2011.10.15
  • 原文地址:https://www.cnblogs.com/-406454833/p/11420358.html
Copyright © 2011-2022 走看看