Python读书笔记:70个注意的小Notes_玩不累 python读书笔记 70个注意的小notes

28 list的内建统计函数。用法:min(list)/max(list)/sum(list)
29 python的切片功能。用法: list[0:3]/list[:]/list[-3:]/list[:9]
30 list复制。用法:new_foods = old_food[:]
31 元组包括一些列不可修改的元素且用圆括号标识。用法:tulple = (2,3)
32 检查是否相等时不考虑大小写。用法:str.lower() == ‘somestr’
33 使用and检查多个条件。用法:condition1>=1 and condition2>=2 and …
34 使用or检查多个条件。用法:condition1>=1 or condition2>=2 or …
35 使用多个列表。用法:

list1 = ['1','2','3','4']
list2 = ['1','4']
for l2 in list2:
    if l2 in list1:
        go()
    else:
        pass

36 比较运算符两边各添加空格,便于可读性。用法:if age > 40:
37 dict修改值,用法:dict[‘key’] = value
38 dict删除键值对,用法: del dict[‘key’]
39 字典的遍历,用法:

for key,value in dict.items():
for key in dict:
for key in dict.keys():
for value in dict.values():
for value in set(dict.values()): # 遍历字典的无重复值

40 字典列表,用法:

dict1 = ['key1':'values1','key2':'values2']
dict2 = ['key1':'values3','key2':'values4']
dict3 = ['key1':'values5','key2':'values6']

dicts = [dict1,dict2,dict3]

for dict in dicts:
    pass  

41 字典中存储列表,用法:

dict1 = {'key1':'values1','key2':['values1','values2']}
for dict in dict1['key2']:

42 字典中存储字典,用法:

dicts = {
'keys1':{'key1':'values1','key1':'values2''key1':'values3'},
'keys2':{'key2':'values2','key2':'values2''key2':'values3'}
}

43 input接收用户输入,用法:message = input(‘user input some values!’)
44 %取模运算判断奇偶,用法:

if (4 % 3) == 0:
    print('偶数'):
else:
    print('奇数')

45 while循环的常规用法:

current_number = 1
while current_number <= 10:
    print('current_number')
    current_number += 1

46 while循环使用标志的用法:

flag = True
while flag:
    message = input(prompt)

47 列表之间移动元素,用法:

while list[]:
    newlist.append(list[].pop())

48 删除特定的元素,用法:

while element in list:
   list.remove(element)

49 形参与实参的理解,用法:

def method(username): # username形参
method('zhangsan') # zhangsan实参

50 位置参数,用法:

def describe(name,age):
describe('zhangsan',22) # 参数位置对应传递

51 关键字实参是传递函数的名称-值对,用法:

def describe(name,age):
describe(name='zhangsan',age=22) # 关键字实参
describe(age=22,name='zhangsan') # 关键字实参,位置不重要

52 形参设置默认值,用法:def describe(name=‘lisi’,age):
53 返回值,用法:

def describe(name='lisi',age):
    des = name + str(age)
return des # 可以返回字典、列表等形式

54 列表参数,用法:

lists = ['huangsan','lisi','wangjun','denghui']
def cats_name(lists):
    for list in lists:
        print("'my love is :\t'+list".title())

55 传递任意参数,用法:def cats_name(*cats): # 可以传递多个形参
56 位置实参和任意数量实参:

def cats_name(parament1,parament2,*cats): # 可以传递多个形参
cats_name(para1,para2,para3,para4,...)

57 任意实参和关键字实参,用法:(cats.py)

def cats_name(parament1,parament2,**cats): # 可以传递多个形参
cats_name(para1,para2,para3,newname=para4,...)

58 导入整个模块,用法:

import cats
cats.cats_name(para1,para2,para3,newname=para4,...)

59 导入特定的函数,用法:from nltk import map_tag as mt
60 导入模块所有函数,用法:from nltk import *
61 形参默认时,两边不能为空,用法:def function_name(parament_0,parament_1=‘default’)
62 类的命名是驼峰型即首字母大写。
63 init(self,papa1,para2):避免python默认方法跟普通方法名称冲突,self必不可少,必须位于其他形参的前面,指向实例本身。
64 类的继承,用法:

# 父类
class Animal():
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def animal_call(self):
        print('this is '+self.name.title()+' call.')


# 子类
class Cat(Animal):
    def __init__(self,name,age,color):
        super().__init__(name,age)
        self.color =color

    def cat_color(self):
        my_color = 'the cat is '+self.color
        print(my_color)
        return my_color


if __name__ == '__main__':
    cat = Cat('tom',22,'blue')
    cat.animal_call()
    strs=cat.cat_color()

65 几种类的导入方式,用法:

from cat import Cat # 导入单个类
from cat import Animal,Cat # 导入多个类
from cat # 导入整个模块
from cat import * # 导入所有类

66 读取文本文件,并删除字符串始末空白,用法:my_str = line.strip()
67 opem()自动创建文件路径,若路径不存在时候。
68 异常代码块:try-except
69 split()创建单词列表

str = 'this is a string'
str.split()
['this','is','a','string']

70 存储数据json.dump()和json.load()

import json

# 父类
class Animal():
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def animal_call(self):
        print('this is '+self.name.title()+' call.')


# 子类
class Cat(Animal):
    def __init__(self,name,age,color):
        super().__init__(name,age)
        self.color =color

    def cat_color(self):
        my_color = 'the cat is '+self.color
        print(my_color)
        return my_color


if __name__ == '__main__':
    cat = Cat('tom',22,'blue')
    cat.animal_call()
    strs=cat.cat_color()

    filename = r'../AllProject/V4.0EngInfoExtract/Document/EnPapers_single/test.json'
    with open(filename,'w') as f_obj:
        json.dump(strs,f_obj)

    with open(filename,'r') as f_obj:
        strs = json.load(f_obj)
    print(strs)

附加matplotlib相关操作:

71 matplotlib绘制图表,plot绘制折线图

import matplotlib
import matplotlib.pyplot as plt
#加入中文显示
import  matplotlib.font_manager as fm

# 解决中文乱码,本案例使用宋体字
myfont=fm.FontProperties(fname=r"C:\\Windows\\Fonts\\simsun.ttc")

def line_chart(xvalues,yvalues):
    # 绘制折线图,c颜色设置,alpha透明度
    plt.plot(xvalues,yvalues,linewidth=10,alpha=0.5,c='red') # num_squares数据值,linewidth设置线条粗细

    # 设置折线图标题和横纵坐标标题
    plt.title("Python绘制折线图",fontsize=30,fontname='宋体',fontproperties=myfont)
    plt.xlabel('横坐标',fontsize=20,fontname='宋体',fontproperties=myfont)
    plt.ylabel('纵坐标',fontsize=20,fontname='宋体',fontproperties=myfont)

    # 设置刻度标记大小,axis='both'参数影响横纵坐标,labelsize刻度大小
    plt.tick_params(axis='both',labelsize=14)

    # 显示图形
    plt.show()

72  matplotlib绘制图表,scatter绘制散点图

def scatter_chart(xvalues,yvalues):
    # 绘制散点图,s设置点的大小,c数据点的颜色,edgecolors数据点的轮廓
    plt.scatter(xvalues,yvalues,c='green',edgecolors='none',s=40)

    # 设置散点图标题和横纵坐标标题
    plt.title("Python绘制折线图",fontsize=30,fontname='宋体',fontproperties=myfont)
    plt.xlabel('横坐标',fontsize=20,fontname='宋体',fontproperties=myfont)
    plt.ylabel('纵坐标',fontsize=20,fontname='宋体',fontproperties=myfont)

    # 设置刻度标记大小,axis='both'参数影响横纵坐标,labelsize刻度大小
    plt.tick_params(axis='both',which='major',labelsize=10)

    # 设置每个坐标轴取值范围
    plt.axis([80,100,6400,10000])

    # 显示图形
    plt.show()

    # 自动保存图表,bbox_inches剪除图片空白区
    # plt.savefig('squares_plot.png',bbox_inches='tight')

73 Pygal生成可缩略的矢量图文件

def histogram(xvalues,yvalues):
    # 绘制直方图
    hist = pygal.Bar()

    # 设置散点图标题和横纵坐标标题
    hist.title = '事件频率的直方图'
    hist.x_title = '事件的结果'
    hist.y_title = '事件的频率'

    # 绘制气温图,设置图形大小
    fig = plt.figure(dpi=128,figsize=(10,6))

    # 事件的结果
    hist.x_labels = xvalues

    # 事件的统计频率
    hist.add('事件',yvalues)

    # 保存文件路径
    hist.render_to_file('die_visual.svg')

74 读取csv文件显示折线图

def temper_char():
    dates,highs,lows = [],[],[]
    with open(r'../../../AllProject/PyProject/weather07.csv') as f:
        reader = csv.reader(f)
        header_row = next(reader) # 返回文件第一行
        # enumerate 获取元素的索引及其值
        # for index,column_header in enumerate(header_row):
        #     print(index,column_header)
        for row in reader:
            current_date = datetime.strptime(row[0],"%Y-%m-%d")
            dates.append(current_date)
            highs.append(int(row[1]))
            lows.append((int(row[3])))


    # 接收数据并绘制图形,facecolor填充区域颜色
    plt.plot(dates,highs,c='red',linewidth=4,alpha=0.5)
    plt.plot(dates,lows,c='green',linewidth=4,alpha=0.5)
    plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.2)

    # 设置散点图标题和横纵坐标标题
    plt.title("日常最高气温,2018年7月",fontsize=24,fontname='宋体',fontproperties=myfont)
    plt.xlabel('横坐标',fontsize=20,fontname='宋体',fontproperties=myfont)
    plt.ylabel('温度',fontsize=20,fontname='宋体',fontproperties=myfont)

    # 绘制斜的日期
    fig.autofmt_xdate()

    # 设置刻度标记大小,axis='both'参数影响横纵坐标,labelsize刻度大小
    plt.tick_params(axis='both',which='major',labelsize=15)

    # 显示图形
    plt.show()

75 Github最受欢迎的星标项目可视化

def repos_hist():
    #查看API速率限制
    # url = https://api.github.com/rate_limit
    # 执行github API调用并存储响应
    url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
    r = requests.get(url)
    print("Status code:",r.status_code) # 状态码200表示成功

    # 将API响应存储在一个变量里面
    response_dict = r.json()
    print("Hithub总的Python仓库数:",response_dict['total_count'])

    # 探索有关仓库的信息
    repo_dicts = response_dict['items']

    names,stars = [],[]
    for repo_dict in repo_dicts:
        names.append(repo_dict['name'])
        stars.append(repo_dict['stargazers_count'])

    # 可视化,x_label_rotation围绕x轴旋转45度,show_legend图例隐藏与否
    my_style = LS(base_style=LCS)

    my_config = pygal.Config()
    my_config.x_label_rotation=45 # 横坐标字体旋转角度
    my_config.show_legend=False
    my_config.title_font_size=24 # 标题大小
    my_config.label_font_size=14 # 副标题大小,纵横坐标数据
    my_config.major_label_font_size = 18 # 主标签大小,纵坐标5000整数倍
    my_config.truncate_label=15  # 项目名称显示前15个字
    my_config.show_y_guides=False # 隐藏水平线
### 一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)



### 二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://img-blog.csdnimg.cn/img_convert/8c4513c1a906b72cbf93031e6781512b.png)



### 三、入门学习视频



我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://img-blog.csdnimg.cn/afc935d834c5452090670f48eda180e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值