当前位置: 首页 > news >正文

python——学校课程预习+复习

1、字典

  • 大括号{}代表字典。
  • 没有下标操作
  • 列表不能作为字典的键

一种数据结构,里面存的全是“键” 和 “值”,一个“键” 对应一个 “值”。每对“键”“值”用逗号隔开。“键”是索引(下标),值是数据。
字典的输出顺序和定义顺序不一样。
在这里插入图片描述

()代表元组

python 中的字符串元组都是不可变类型,无法更改元素的值
元组有下标操作

[]代表列表

列表也有下标操作

2、eval()函数

去掉字符串的两个引号,将其解释为一个变量。有三个参数

eval(expression, globals=None, locals=None)
  • expression:待计算的字符串表达式
  • globals:该部分必须是字典!有了这个参数,eval函数的作用域会被限定在这个参数里
  • locals:功能和globals类型,不过当参数冲突时,会执行locals处的参数
a=10;
print(eval("a+1"))

打印11
a=10;
g={'a':4}
print(eval("a+1",g))

打印5
指定了globals,所以在expression部分的作用域就是globals指定的字典范围内。所以此时外面的a=10被屏蔽,取用字典中的值
a=10
b=20
c=30
g={'a':6,'b':8}
t={'b':100,'c':10}
print(eval('a+b+c',g,t))

打印116
当globals和locals中都有参数b时取locals中的值。所以a=6,b=100,c=10

3、input()

执行该函数时,接收屏幕输入,传给=左边的值。
该函数总是返回一个字符串,即便输入的是个数字。

input("请输入东西:")
如果里面有字符串,会输出他

如何同时输入多个?用split()分隔,split()里的内容就是分隔符(默认以空格分隔)

input().split(',')

这样就是以逗号分隔。

4、间隔取数 [::n]

不管间隔n是多少,都先取第一个元素,然后隔n个再取

5、python如何实现循环递减(循环变量从大到小)

5.1 while循环

>>> i=10
>>> while i>0:
	print(i,end=" ")
	i-=1
10 9 8 7 6 5 4 3 2 1 

5.2 利用range中的步长

range三个参数的意义:

range(start, stop, step);

实现:

for i in range(10,0,-1):
	print(i,end=" ")

输出:

10 9 8 7 6 5 4 3 2 1 

5.3 利用reserve函数反转

for i in reversed(range(1,10+1)): 
	print(i,end=" ")

6、for循环

for i in range(n): 
	##

7、输出不换行

print("要输出的内容",end="")

8、想输出算出来的小数的所有位的话就直接print,不要整format

9、用format输出整数

print("{:.2f}{:.2f}{}".format(float, float, float, int))

大括号里什么都不写就是输出原本类型和位数,不加任何限制

10、两个除号连在一起//

就是相除的结果自动取整数

11、oct() bin()

oct():求出括号内数字的8进制形式,结果以0o开头
bin():求出括号内数字的2进制形式,结果以0b开头

12、complex()函数

Python输出虚数时,自动加上小括号 ()

class complex([real[, imag]])

real是实部,imag是虚部,产生一个字符串,且自带括号

print(complex(10.99))
print(complex(1, 2))

结果:

(10.99+0j)
(1+2j)

13、round()函数

四舍五入

round(number, num_digits)

number  是需要四舍五入的数
num_digits  是保留的位数

如果只有一个参数,就是保留0位,结果是整数。

14、format

在这里插入图片描述
实例:

a = "Python"
b = "A Superlanguage"
print("{:->10}:{:-<19}".format(a, b))

输出:

----Python:A Superlanguage----

{:->10}:这个大括号里的内容总长度为10,是右对齐(从右往左写),左边写不满用 - 补位

有时候大括号里的冒号前面会有数字,这个数字是后面参数填入的顺序,如下面的例子:

print("{1}的值为{0:.6f}".format(3.1415926, "Π"))

输出:

Π的值为3.141593

15、upper函数

把字符串中的小写字母转大写字母

16、count函数

str.count( sub, start= 0, end=len(string) )

start 是查找的起始位置
end  是查找的结束位置

str串中查找sub串出现的次数,结果是一个整数。

17、isnumeric函数

str.isnumeric()

字符串只由数字组成返回true,否则返回false

18、argmaxargmin函数

对于一维数组来说,返回数组中最大值的下标。
当一组中同时出现几个最大值时,返回第一个最大值的索引值。

argmin反之。

19、np.random.randint()random.randint()

它俩的区别看这篇博客就够了

所有生成随机数,有这篇博客就够了
在这里插入图片描述
还要额外记住这两个,上面的博客没有

20、shape

  • 可以重新设置多维数组的行和列
    在这里插入图片描述
    输出:
    在这里插入图片描述

21、append生成多维数组

import numpy as np
a=[] 
for i in range(5): 
    a.append([])
    for j in range(5): 
        a[i].append(i)

append:在数组末尾追加元素

22、transpose转置矩阵

a = np.transpose(a)

23、用户输入填充字典

d = {}
for i in range(1, 6):
    name = input()
    mark = input()
    d[name] = mark
search = input()
print("{} {}".format(search, d[search]))

24、用户输入填充列表

n = eval(input())
l = []
for i in range(0, n):
    l.append(eval(input()))

25、文件操作

f = open("car_data.txt",encoding="gbk")
content = f.readlines()		读取所有行,并返回一个列表
for temp in content:		temp就是文件的每一行的内容
	# ...........
	# ...........
f.close()					一定要记得关闭文件

使用open打开文件,第一个参数是文件路径,第二个参数是编码方式。
注意,readlines()是读取所有行,而且 返回的是一个列表
所以下面的temp是列表中的每一个元素。

26、正则表达式 re

1)findall(pattern, string)

findall有两个参数,他能在第二个参数表示的串中 找到所有的第一个参数,并一一存入结果字符串列表中,结果列表中元素的个数取决于第二个参数里有多少个第一个参数。

若第一个参数有的部分被()括起来了,那么匹配的时候仍然正常匹配,但是取结果的时候只保留小括号里面的内容。

若第一个参数里面有|,那么|前后表示的串都可以匹配成功。

2).

在正则表达式中,一个.可以匹配任意一个字符

3)[a-z]

中括号括起来的部分表示一个字符,什么样的字符呢?就是中括号范围内的任意一个字符。
在这里插入图片描述
举例:

[Aa]		表示一个字符,这个字符可以是 A ,或 a
[a-z]		表示一个字符,可以是a-z之间的任意字符

4)x*

x*可以匹配任意个数的 只由 x 构成的字符。
举例:

?*		可以匹配:空,?,??,???......????????????????????
		也就是任意个数的 ?

5)\d

匹配任意一个数字

6)\d+

至少有一个数字
+表示至少有一个前面所代表的字符,不能是空

7)\d{x}

匹配x个数字。

\d{x, x+n}
匹配xx+n之间个数的数字,若既能匹配到x ,也能匹配到x+n之间的某一个,则取最大

8)\w

匹配任意一个字母。等价于[a-zA-z]

9)注意:下面这张表里e和c老搞混

在这里插入图片描述

27、argmaxargmin

这两个函数分别返回列表中最大值/最小值的下标

28、文件操作

r只读,r+可读写,不能创建
w新建只写,w+新建读写,二者都会将文件内容清零
a:附加写方式打开,不可读;a+: 附加读写方式打开

+的作用是:在原功能基础上增加同时读写功能

29、注释

注释会被python解释器过滤掉

注释可以辅助程序调试

30、jieba.lcut的三种模式

(1)精确模式语法:jieba.lcut(字符串, cut_all=False)默认时为cut_all=False,表示为精确模型。精确模式是把文章词语精确的分开,并且不存在冗余词语,切分后词语总词数与文章总词数相同。

(2)全模式语法:jeba.lcut(字符串,cut_all=True),其中cut_all=True表示采用全模型进行分词。全模式会把文章中有可能的词语都扫描出来,有冗余,即在文本中从不同的角度分词,变成不同的词语。

(3)搜索引擎模式jieba.lcut_for_search(字符串)在精确模式的基础上,对长词语再次切分。

31、divmod函数

divmod(a,b)方法返回的是a//b(商)以及a%b(余数),返回结果类型为tuple

32、在一行上写多条Python语句使用符号 ;

33、seek函数

seek函数表示将光标移到文件的哪个位置。

seek(offset,whence=0)
  • offset:偏移量,偏移移动的字节数
  • whence:要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
seek(0);	表示把光标移动到文件头,只有一个参数的时候,该参数代表 whence

34、lowerupper函数

分别是把一个字符串转换成小写和大写,使用方法如下:

string.lower()

35、ordchr函数

ord函数:返回传入字符的ASCll数值
chr函数:返回传入ASCII码的字符值

字典的get方法:

dict.get(key, default=None)

返回字典中键key所对应的值。第二个参数只有在字典中不存在键key时才有用,此时,键key对应的值就是default
在这里插入图片描述

36、index函数

str1.index(str2, beg=0, end=len(string))]

检测字符串中是否包含子字符串str,如果指定beg(开始) 和end(结束)范围,则检查是否包含在指定范围内。并返回第一次出现的下标。
str1也可以是一个列表,str2也可以只是个数字。

37、isinstance函数

isinstance(object, classinfo)	判断 object 的类型是否是 classinfo,返回 TrueFalse

例题:

这里是引用

使用writelines函数将一个字符串列表写入文件,默认列表中的元素间没有任何分隔

这里是引用

在这里插入图片描述

这里是引用

在这里插入图片描述
在这里插入图片描述

这里是引用

这里是引用
在这里插入图片描述

这里是引用
e后面必须跟一个数字,所以上式中+8整体是一个数字8+代表正号,而不是加号。而5.67e+8j.real整体是一个虚数,该虚数只有虚部没有实部,虚部是5.67e+8
Python中使用jJ表示虚部。

在这里插入图片描述

在这里插入图片描述

这里是引用

在这里插入图片描述

这里是引用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

这里是引用

在这里插入图片描述

在这里插入图片描述
默认参数可以不按顺序提供

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
scv是一种通用的电子表格和数据库导入导出格式。里面的每行数据以 , 分隔

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
不允许同一个键出现两次。如果同一个键被赋值两次,后一个值会被记住

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这里是引用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

相关文章:

  • Linux 进程———详解
  • Linux服务器实例程序———使用定时器列表处理非活动连接
  • 各种最短路问题的常用算法模板
  • Linux高级进程编程———在任意两个进程间传递文件描述符:使用 sendmsg 和 recvmsg 实现
  • Linux 线程———详解
  • Linux 中与字符串相关的函数strpbrk、strcasecmp、strspn(不间断更新)
  • C++ printf族函数
  • 最小生成树的常用算法模板
  • 一个服务器压力测试程序
  • 图论——二分图
  • 面向对象程序设计———组合、委托 与 继承
  • C++设计模式
  • C++ 嵌套类
  • CMake指令解析 set(CMAKE_CXX_FLAGS “$ENV{CXXFLAGS} -rdynamic -O3 -fPIC -ggdb -std=c++11 -Wall -Wno-deprec
  • 记一个测试sylar服务器日志模块时遇到的一个非常奇怪的问题
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • android图片蒙层
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Hexo+码云+git快速搭建免费的静态Blog
  • HTML5新特性总结
  • JavaScript HTML DOM
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Javascript基础之Array数组API
  • Logstash 参考指南(目录)
  • Markdown 语法简单说明
  • Ruby 2.x 源代码分析:扩展 概述
  • Vue官网教程学习过程中值得记录的一些事情
  • vue学习系列(二)vue-cli
  • Webpack 4x 之路 ( 四 )
  • 构建二叉树进行数值数组的去重及优化
  • 坑!为什么View.startAnimation不起作用?
  • 力扣(LeetCode)357
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 深度学习在携程攻略社区的应用
  • 实战|智能家居行业移动应用性能分析
  • 使用API自动生成工具优化前端工作流
  • 使用putty远程连接linux
  • 温故知新之javascript面向对象
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (十) 初识 Docker file
  • ../depcomp: line 571: exec: g++: not found
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Standard 的管理策略
  • .skip() 和 .only() 的使用
  • .stream().map与.stream().flatMap的使用
  • @Data注解的作用
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [2023年]-hadoop面试真题(一)
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)