【python----发轫之始】【基础知识总结】
python基础知识总结
一、自学感受
学完之后,,,感觉脑子里全是乱的,单词这么多,都要分不清什么时候该用什么,他到底属于哪一个数据类型里的函数,,,,,,
所以,我想着把笔记整理一下,方便自己和需要的人查看。
二、pycharm常用快捷键
识别菜鸟和高手的最简单的方法就是看他对于编译器玩的六不六,所以掌握基本的快捷键是必须的。
注释快捷键: CtrI + / 代码格式化:CtrI+ Alt + L
文件重命名: Shift + F6 拷贝文件路径: CtrI + Shift + C
运行程序: Shift + F10 调试程序: Shift + F9(debug模式)
添加补字符: Alt +鼠标左键 光标在行开头: CtrI + [
光标在行结尾:CtrI+ ] 选中当前行:Ctrl + Shift + [
取消选中: Ctrl + Shift + ] 选择剪贴板内容插入: CtrI + Shift + Insert
撤销: Ctrl+ Z 恢复: Ctrl + Shift + Z
复制当前行: CtrI + D 删除当前行: Ctrl + Y
移动当前行: Shift + Alt +↑↓ 代码补全: Ctrl+ Alt +空格
单步执行: F8
三、字符串常见操作
命名两个str类型的str1和str2,temp。
1str1.find(str2,start = 0,end = len(str1) )
用于查找str2在str1中的索引值,如果没有,返回-1。(从左往右)
rfind用法一样,只不过是从右往左查找。
index,和 find()差不多,没找到会报异常。
rindex,和 rfind()差不多,没找到会报异常。
2.str1.count(str2,start = 0,end = len(str1))
统计 在str1的start 到 end 中str2出现的次数。
3.str1.replace(temp,str2,count)
把在str1中的 字符串 temp替换为 str2 count 次。
4.str1.capitalize()
字符串的第一个字母大写。
5.str1.title()
字符串中的每一个单词的首字母大写。
6.str1.lower()
把字符串中的字母全部变为小写。
7.str1.upper()
把字符串中的字母全部变为大写。
8.str1.strip()
删除字符串两边空白字符。
rstrip() 删除字符串右边空白字符。
lstrip() 删除字符串左边空白字符。
9.str1.splitlines()
str1中如果包含 ('\r', '\r\n', \n') ,将其分开储存在列表中。
10.str3 = str1.join(str2)
将str2的每一个字符用字符串str1连接起来。
11.str1.split(ch)
将str1以字符串为划分点分成几部分储存到列表中。
四、运算符优先级
| 序号 | 运算符 |
| 1 | ** |
| 2 | ~ + -(一元加减号) |
| 3 | * / % // |
| 4 | + - |
| 5 | >> << |
| 6 | & |
| 7 | ^ | |
| 8 | <= < > > = |
| 9 | == != |
| 10 | = %= /= //= -= += *= **= |
| 11 | is is not |
| 12 | in not in |
| 13 | not or and |
五、列表常用函数
1.list2 = list1[a:b]
将列表中a到b-1的元素放入list2 列表中。
2.list1.revers()
反转列表。
3.list1.append(list2)
将list2整个列表追加到list1中。
4.list1.extend(list2)
将list2列表中的元素追加到list1中。
5.list1.insert(a,chr)
将chr元素插入到list1中的第a个位置中。
6.list1.remove(chr)
将list1中的chr删除。
7.list1.pop(a)
按照索引值将list中的值删除。
8.list1[a,b] = []
将a到b-1元素删除。
9.cnt = list1.count(chr)
统计chr元素在list1中出现的次数。
10 list2 = list1.copy()
复制list1中的元素到list2中,(不是指向同一块内存)
list2 = list1 (这个就会指向同一块内存)
10.list1.sort()
升序排序
11.list1.sort(reverse = True)
降序排序
12.sorted(list1)
对列表进行排序,生成新列表,不修改原列表。元组也适用。
13.max(list1) min(list1)
返回列表中的最大最小值
14.sum(list1)
返回数字列表数的总和。
六、字典常用函数
1.dict1 = dict(keys = values,.........)
字典的创建,也可以用花括号直接创建。
2.dict1 = dict.fromkeys([keys,........] , 这里填默认值 )
初始化字典
3.dict1.get(chr,ch)
在字典中获取chr对应的值,如果没有,默认返回指定的ch.
也可以用dict1[chr] 的方法获取,没有返回指定值的东西。
4.字典的遍历
for key in employee:
v = employee[key]
print(v) for k,v in employee.items():
print(k,v)
5.字典的更新(有则更新,无则新增)
dict1[chr] = v 单个更新
dict1.update(keys = value,..........) 多个更新
6.字典的删除
dict1.pop(chr) 删除指定的key 和 value
dict1.popitem() 删除最后一个key 和 value
7.dict1.clear()
清空字典
8。获取字典的视图
dict1,keys() 代表获取所有的键
dict1.values() 代表获取所有的值
dict1.items() 代表获取所有的键值对
以其中的一个为例:
ks = dict1,keys() ,ks会随着dict1中内容的变化而变化,不是固定不变的。
9.dict1.setdefault(key,value)
默认初始化,若已经存在key了,就会忽略这个语句,无就添加。
10.字符串格式化
# 老版本的字符串格式化
emp_str = "姓名:%(name)s,评级:%(grade)s,入职时间:%(hiredate)s" %emp1 # 新版本的字符串格式化
emp_str1 = "姓名:{name},评级:{grade},入职时间:{hiredate}".format_map(emp1)
七、元组注意事项
如果元组只有一个元素时,必须在这个元素后增加逗号说明这是一个元组。
元组只能访问,不能改变其 值,除非包含了列表。
八、集合常用函数
集合是没有value值的字典。
创建时和字典差不多,只是创建空集合时要用set()。
注意:集合不支持按照索引提取数据 用in 判断是否在其中,for循环遍历集合。
集合的一些函数:
1.求交集
c1 = set1.intersection(set2) 获取交集,新建集合。
set1.intersection_update(set2) 更新原有集合。
2.求并集
c1 = set1.union(set2) 获取并集,去重,新建集合。
3.求差集
c1 = set1,difference(set2) 获取set1在set2中不存在的部分,新建集合。
c1 = set1.symmetric_difference(set2) 获取双向差集,新建集合。
差集也有update
set1.symmetric_difference_update(set2) 获取双向差集。更新set1.
4.set1 == set2
判断两集合中的元素是否都相同。
5.set1.issubset(set2)
判断set1是否是set2的子集。
6.set1.issuperset(set2)
判断set1是否是set2的父集。
7.set1.isdisjoint(set2)
判断set1是否和set2无重复元素。
8.set1.add(ch)
更新数据,一次只能更新一个。
9.set1.update(ch1,ch2)
更新数据,一次能更新多个。
10.set1.remove(ch)
删除数据,如果没有ch,会报错。
11.set1.discard(ch)
删除数据,如果没有ch,不会报错,直接忽略。
九、生成式
生成式很简单,说一下语法就行生成式语法: [被追加的数据 循环语句 循环或者判断语句]|{}
十、常用高阶函数
1.lambda 函数的用法
def f(n):
return n % 2 == 0 print(f(2)) print(bool(lambda n: n % 2 == 0))
输出后都为 True 。
说明这两个函数是等价的,后者更加简洁,也是lambda函数的好处。
2.filter(function, iterable)
function -- 判断函数。
iterable -- 可迭代对象。
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
我们用range数组和lambda函数进行讲解。
#输出0~19 个数中的奇数
print(list(filter(lambda n: n % 2, range(0, 20))))
#得到 [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
3.reduce(function, iterable[, initializer])
用之前要引入函数
from functools import reduce
function -- 函数,有两个参数
iterable -- 可迭代对象
initializer -- 可选,初始参数
from functools import reduce print(reduce(lambda x, y: x * y, range(1, 21)))
#得到 20!
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
如果只是求和,用内置的sum(list1) 也可以得到答案。
4.map(function, iterable, ...)
function -- 函数
iterable -- 一个或多个序列
#计算各个数的立方 print(list(map(lambda n: n**3, range(1, 11))))
#输出[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
如果有哪里写错了,希望大佬指点一下,蟹蟹!!
【python----发轫之始】【基础知识总结】的更多相关文章
- Python数据挖掘——基础知识
Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...
- Python 面向对象基础知识
面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...
- python 爬虫基础知识一
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...
- Python:基础知识
python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...
- Python学习-基础知识-2
目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...
- 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出
第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...
- Python入门 ---基础知识
Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...
- 10分钟学会Python函数基础知识
看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...
- python编码基础知识
http://www.javaeye.com/topic/560229 一 预备知识 字符集1, 常用字符集分类ASCII及其扩展字符集作用:表语英语及西欧语言.位数:ASCII是用7位表示的,能表示 ...
- Python 爬虫基础知识
requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...
随机推荐
- Ubuntu 修改 hosts 文件
sudo vi /etc/hosts sudo /etc/init.d/networking restart
- 【Linux常见命令】tail命令
tail - output the last part of files tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail -f filename ...
- Elasticsearch: 权威指南 » 深入搜索 » 多字段搜索 » 多数字段 good
跨字段实体搜索 » 多数字段编辑 全文搜索被称作是 召回率(Recall) 与 精确率(Precision) 的战场: 召回率 --返回所有的相关文档:精确率 --不返回无关文档.目的是在结果的 ...
- Codeforce 1102 C. Doors Breaking and Repairing
Descirbe You are policeman and you are playing a game with Slavik. The game is turn-based and each t ...
- spark系列-3、缓存、共享变量
一.persist 和 unpersist 1.1.persist() : 用来设置RDD的存储级别 存储级别 意义 MEMORY_ONLY 将RDD作为反序列化的的对象存储JVM中.如果RDD不能 ...
- ES[7.6.x]学习笔记(六)分析器
在前面的章节中,我们给大家介绍了索引中的映射类型,也就是每一个字段都有一个类型,比如:long,text,date等.这和我们的数据库非常的相似,那么它的不同之处是什么呢?对了,就是全文索引,在ES当 ...
- [E. Ehab's REAL Number Theory Problem](https://codeforces.com/contest/1325/problem/E) 数论+图论 求最小环
E. Ehab's REAL Number Theory Problem 数论+图论 求最小环 题目大意: 给你一个n大小的数列,数列里的每一个元素满足以下要求: 数据范围是:\(1<=a_i& ...
- 关于使用ffmpeg的一些牢骚
一.啰嗦几句 好几年不写博客了,一是工作计算机都加密了没法编辑提交:二是各种语言混用,什么都会就是什么都不会,delphi.c#.vb.python.c++要说我精通啥,啥也不精,所以不敢乱写. 最近 ...
- java线程池原理解析
五一假期大雄看了一本<java并发编程艺术>,了解了线程池的基本工作流程,竟然发现线程池工作原理和互联网公司运作模式十分相似. 线程池处理流程 原理解析 互联网公司与线程池的关系 这里用一 ...
- Spring Cloud学习 之 Spring Cloud Ribbon(负载均衡策略)
文章目录 AbstractLoadBalancerRule: RandomRule: RoundRobinRule: RetryRule: WeightedResponseTimeRule: 定时任务 ...