重拾python所要知道的一些主干知识点
前言:因为有一段时间没有用python了,最近需要用到,只能回头过去看B站视频补一补,因为语言都是相通的,而且一些细节都可以去查表解决,所以呢,我们只需要知道一些python与其他语言的不同和常见的优势函数。这篇博客也是为了让我以后直接复习python整个概括而不用去看视频,可以直接上手python。
格式
1、python格式化位数不一定是四舍五入的。
2、python我们要很熟悉他的加法重载,灵活使用达到拼接的效果。
>>>print('hello','world!')
hello world!
>>>print('hello '+'world!')
helloworld!
2、转义符
print('Let\'s go!')
#对于太多需要转义的字符串,可以添加r
print('C:\\test\\test.txt')
print(r'C:\test\test.txt')
3、无论什么语言都要形成习惯,定义变量要设置初始值!!
4、python不像其他语言一样一个变量开辟空间,而是名字贴在值上,值对应开辟空间;如果没有一个名字贴在一个值上,那么这个值过段时间会被回收。
5、python从0开始,现在我所遇到的语言就只有matlab从1开始吧
6、python是通过缩进判断的语句的篇幅
if no xxx:
...
if xxx and xxx :
...
7、格式化
'{0} love {1}'.format('I','you')
'%c' % 98 #python是没有字符的,他认为一个字符是长度是1的字符串,这个意思是ASCII的转换
8、列表 元组 字符串 集合 字典`
#分片
meb=member[:2]#深度复制!开辟新的空间
meb=member #没有开辟新的空间,只是把新的名字贴上去!
#所以尽量有第一种去复制以及a.extend(b)
##列表 可以加入任何类型的元素
a = [1,'go',[]]
#一些操作函数自己查找就行这里不列出
##元组是带上枷锁的列表,值是不可以改变的
a = (2,'go',[])
#只有逗号也是元组
a = 1,3,45
##字符串
a = 'sitng'
a[0]
##字典
dic1={}
dict2 = {A:B}
#或者 dict2=dict(hello='world') ;dict2=dict('hello'='world')则不对!
#或者 dict2=dict(((A,B)(C,D)))注意括号!因为是dict带的是mapping
#dict[key]=value
dict2.keys()
dict2.values()
dict2.items()
dict2.get(key)
dict1.fromkeys(range(15),'hello')
#输出{1:'hello,2:hello,3:hello,...}
##集合
set1 = {1,3}
set1 = frozenset(set2)#不可变
注意list set dict str tuple 之间的转换
9、函数
#只需要记住下面的格式就行
#自己习惯:全部传参采用名字对应输入!
#*params是收集参数,是一个元组
def test(*params,name,number):
...
return name
test((2,3,3,5),name='Carol',number=3)
10、几大常见函数!
1)匿名函数 lambda
g = lambda x , y : x+y
2)过滤器 对于多个数需要筛选出特定功能的数
filter(func or none ,iterable)
def odd (x):
return x%2
g = filter(odd,range(10))
list(g)
3)mapping 映射,将迭代数投入到func中运算
map(func , iterable)
list(map (lambda x: x+2 ,range(10))) #range左闭右开
11、文件格式
这也是我因为不懂跑来看视频的罪终祸首。。。
import os
f = open('D:\\test.txt') #默认是r
f.read() #全部输出
f.seek(0,0)
#因为读取是由一个标签光标去实现上面的read已经到末尾了,所以我们先让读取光标回到最开始,然后进行下面的循环读取每一行的数据
for each_line in f:
print(each_line)
f.close() #一定要关掉
如果要改写,则
f=open('D:\\test.txt','w')
str='carol_learning'
f.write(str) #注意是全部覆盖 如果想续下去,那应该是'a'打开
f.close()
pickle二进制
import pickle
my_list_second = [132,4235,542]
pickle_file = open('my_list_second.pkl','wb')
pickle.dump(my_list_second,pickle_file)
pickle_file.close()
pickle_file_load = open('my_list_second.pkl','rb')
my_list_load = pickle.load(pickle_file_load)
12.类
属性和方式同个名字,属性会覆盖方法
class A:
number=1;
def student():
xxx
#继承list
class B(list){
#应用
a = A()
b = B()
b.append(9)
#很神奇python他具有类定义(静态static) 类对象(可以改变属性的值) 实例对象(各自可以更改,多态)
#一个类先调用__new__返回一个class(一般很少更改),然后返回的这个class再去__init__,最后当没有名字指向这个类的话,那么就是执行__del__
10、self(this)
class A:
def setName(self,name):
self.name=name;
def kick(self):
print("我叫%s" % self.name)#需要self ,则需要self作为第一个参数
#结构函数
def __init__(self):
xxx
#python 的私有 则是在变量前面添加__
__name="李华"
#则在外部访问不到这个名字
#实际上python将私有变量__name变成_类__变量,因此可以用下面对私有变量进行访问
a = A()
a._A__name
>>李华
11、继承
class Fish:
def __init__(self):
xxx
class Shark(Fish):
def __init __(self):
super().__init__()#注意调用同样的函数子会覆盖父类,因此用super进行父类的初始化
xxx2
#多重继承
class Shark(Fish,Animals):
xxx
#纵向是用继承,横向的是组合
#组合就是水池中有乌龟,鱼等,表现形式在于在水池这个类中实体化其他的类,没有继承关系!
class pool:
def __init__(self):
self.fish=Fish()
self.shark = Shark()
12、模块
1、namespace.py
调用:
import namespace
namespace.xx()
%
import namespace as ns
ns.xx()
2、if name == “main” do something
如果此xx.py是执行文件,则__name__== “__ main__” ,do something
如果此xx.py是导入模块,则__name__!= “__ main__” ,不执行something
3、搜索路径
如果import A
A必须在sys.path里面
4、包(package)
把模块分别放到不同的文件里面,然后设置路径
步骤:
1、创建一个文件夹,放置相应的模块,文件夹的名字就是包的名字
2、在文件夹里面放置一个__init__.py,内容可以为空
3、那执行文件中,怎么import 其他文件的py文件?
import packagename.A #A为py文件
#检查
> import sys
> sys.path
> sys.path.append("r'C:\hello)
timeit.__doc__
dir(timeit)
欢迎大家积极评论,是否还漏了大家常用的一些函数,大家对python用处不一样,所经常要用的不一样,侧重点有所不同哈
重拾python所要知道的一些主干知识点的更多相关文章
- 重拾python
前一段碰到几次关于日期计算的题:给出一个日期,计算下一天的日期.虽然不限语言,可是我就C/C++还算熟悉,别的都是刚了解皮毛,根本不会用现成的库啊,无奈啊...只好用c语言一点点实现了,当时真是无比怀 ...
- 重拾Python(2):如何安装第三方库(Windows)
使用python进行数据分析或者数据处理时,往往需要使用一些库,而使用库之前必须安装它.Anaconda内置了很多常用的第三方库,可以满足绝大部分需求,比如numpy.pandas.matplotli ...
- 重拾Python(1):使用Anaconda搭建Python开发环境(Windows7)
1.为什么选择Anaconda? Anaconda解决了Python使用痛点. Python好用但是令人头疼的就是库管理与Python不同版本的问题,特别是Windows环境下. 2.什么是Anaco ...
- 重拾Python(3):Pandas之Series对象的使用
Pandas是Python下最强大的数据分析和探索库,是基于Numpy库构建的,支持类似SQL的结构化数据的增.删.查.改,具有丰富的数据处理函数.Pandas有两大数据结构:Series和DataF ...
- 重拾Python(4):Pandas之DataFrame对象的使用
Pandas有两大数据结构:Series和DataFrame,之前已对Series对象进行了介绍(链接),本文主要对DataFrame对象的常用用法进行总结梳理. 约定: import pandas ...
- 重拾Python(5):数据读取
本文主要对Python如何读取数据进行总结梳理,涵盖从文本文件,尤其是excel文件(用于离线数据探索分析),以及结构化数据库(以Mysql为例)中读取数据等内容. 约定: import numpy ...
- 重拾Blog
上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...
- [linux]重拾linux
起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...
- 重拾linux
重拾linux 起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做 ...
随机推荐
- MySQL 修改表中的字段,使其自增
例如,我想使字段 id 自增. 1.查看表定义 mysql> DESC user; +----------+-------------+------+-----+---------+------ ...
- 【暂咕咕咕】SuffixTree
#include<bits/stdc++.h> using namespace std; const int MAXN=1e6+10; typedef long long ll; char ...
- 【题解】[USACO07NOV]Sunscreen G
\(Link\) \(\text{Solution:}\) 把奶牛的忍耐度转化为线段,则题目转化为选择一些点使得覆盖的线段尽可能多.一个点只能覆盖一条线段. 考虑将点按照位置排序,线段按照右端点排序. ...
- 利用Python+pyecharts+tushare图形化展示股票历史财务信息
在微信或其他平台上,经常能看到别人推荐股票,分析的头头是道,让自己懊恼于没有早点关注到这只股票,好像错失了几个亿.但是投资股票又忌讳听消息跟风,总不能看到别人推荐自己就无脑买入. 看到了一只股票,自己 ...
- 高性能HTTP加速器Varnish--基础知识
一.Varnish 概述 Varnish 是一款高性能且开源的反向代理服务器和HTTP加速器,它的开发者 Poul-Henning Kamp 是 FreeBSD 核心的开发人员之一. 与传统的 Squ ...
- 微信小程序实时将less编译为wxss
1.npm或者yarn全局安装wxss-cli npm install -g wxss-cli 2.运行waxes-cli命令(mp_wx为小程序目录) wxss ./mp_wx 实时监听mp_wx目 ...
- selenium环境配置学习笔记
一 为什么进行自动化测试 缩短测试周期 避免人为出错 测试信息存储 轻易获取覆盖率 二 web/ui自动化条件和适用范围 手工测试已经完成,后期在不影响进度的前提下逐渐实现自动化 项目周期长,重复性工 ...
- 测试-python相关
python基础 一行代码实现1~100累加,不使用for循环 方式一: sum(range(1,101)) 方式二: 1 from functools import reduce 2 reduce( ...
- linux(centos8):安装java jdk 15 (java 15)
一,下载jdk15 官方网站: https://www.oracle.com/java/ 下载页面: https://www.oracle.com/cn/java/technologies/javas ...
- linux(centos8):用uniq去除文本中重复的行(去重)
一,uniq命令的用途 1, 作用: 从输入文件或标准输入中找到相邻的匹配行, 并写入到输出文件或标准输出 2, 使用时通常会搭配sort使用 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt ...