1 反转字符串 下面的代码使用Python切片操作来反转字符串。 从某种意义上讲,切片简化了以下代码的编写(不考虑Python中-1的情况)。 3 交换俩个变量的值 Python使得在不使用另一个变量的情况下交换两个变量的值变得很容易。 Python中的Counter类。Python的计数器记录容器中每个元素出现的次数。Counter()返回一个字典,其中键是元素,出现次数是值。 count['b']) # of individual element# 3 print(count.most_common(1)) # most frequent element# [('d', 5)] 10
__new__(cls, f_it) int_t = IntTuple([1, 8, -2, -3, 'abc', [4,5], 10]) print(int_t) #(1, 8, 10) 5.2
pass 作用域(重要)和名称空间 名称空间:用来存放名字(变量,函数名,类名,引入的模块)的 1.全局名称空间:我们在py文件中自己写的变量, 函数..... 2.内置名称空间; 我们python a = a + 10 # 现在的a是全局的, 你现在视图改全局变量 print("里面的打印",a) func() print("外面的打印", a) a = 10 def func(): , global找全局 a += 10 # a = a + 10 python不让这么干 print("func2", a) func2() print( # 局部 def func2(): nonlocal a # 不找全局, global找全局 a += 10 # a = a + 10 python不让这么干 print("func2", a) func2() print(a) func1() print(a) func0
:12', 50), (1001, 9002, '2020-01-02 09:01:01', '2020-01-02 09:06:00', 58), (1002, 9001, '2021-05-02 10 :01:01', '2021-05-02 10:05:58', 60), (1002, 9002, '2021-06-02 19:01:01', '2021-06-02 19:05:01', 54), 02', null, null); 输出: 1|1001|9001|2020-01-01 22:11:12|2020-01-01 23:16:12|50 3|1002|9001|2021-05-02 10 :01:01|2021-05-02 10:05:58|60 5|1003|9001|2021-09-05 19:01:01|2021-09-05 19:40:01|49 6|1003|9001|2021 :01:01|2021-05-02 10:06:58|60 6|1003|9001|2021-09-05 19:01:01|None|None 7|1003|9001|2021-09-05 19:01:
方法 在 Python 中可以使用以下两个方法验证: 在 标识符 / 数据 后输入一个 . ,然后按下 TAB 键,iPython 会提示该对象能够调用的 方法列表 使用内置函数 dir 传入 标识符 / 数据,可以查看对象内的 所有属性及方法 提示 __方法名__ 格式的方法是 Python /2/distutils/apiref.html 2) 构建模块 $ python3 setup.py build 3) 生成发布压缩包 $ python3 setup.py sdist 注意:要制作哪个版本的模块 开发的 并且被 程序员广泛使用 的 Python 包 / 模块 例如 pygame 就是一套非常成熟的 游戏开发模块 pip 是一个现代的,通用的 Python 包管理工具 提供了对 Python 包的查找 、下载、安装、卸载等功能 安装和卸载命令如下: # 将模块安装到 Python 2.x 环境 $ sudo pip install pygame $ sudo pip uninstall pygame
函数能够作为变量,进行赋值 package main import "fmt" //全局变量 var number = 20 //定义函数 func testGlobal() { number := 10 // 先在自己函数中进行查找,找到了自己的函数中的变量 // 函数中没有找到就往外层找,即找全局变量 fmt.Println("变量number", number) //变量number 10 //变量i只在for语句块中生效 for i := 0; i < 10; i++{ fmt.Println(i) } //fmt.Println(i) 外层不能访问内部for语句中的变量 int, op func(int, int) int) int{ return op(x, y) } func main(){ //函数作为参数传递给另一个函数 r1 := calc(10,20 , add) //30 fmt.Println(r1) r2 := calc(20,10, sub) //10 fmt.Println(r2) }
(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)
代码质量工具——Black PyPI: https://pypi.org/project/black/ 功能: Python代码格式化工具 特点: 统一的代码格式规范 优势: 提高代码可读性,被广泛使用 __init__() self.layer = nn.Linear(28*28, 10) def training_step(self, batch, batch_idx return torch.optim.Adam(self.parameters(), lr=0.001) # 训练模型 trainer = pl.Trainer(max_epochs=10 , gpus=1) trainer.fit(model, train_loader, val_loader) 10. csv' ) 使用建议 入门阶段: 从PyCaret和Streamlit开始 使用LazyPredict快速了解不同模型效果 利用Lux进行初步数据探索 通过Drawdata加深对算法的理解 进阶阶段
用正则表达式爬取古诗文网站,边玩边学【python爬虫入门进阶】(09) 本文主要介绍csv文件的读写操作,文件简单易懂。 CSV文件是什么?
Socket 使用 IP 地址 + 端口 + 协议的三元组唯一标识一个通信链路。服务器端的一个通信链路可以对应于多个客户端,比如一个 Web 服务器的 80 端口可以同时服务于大量的客户端。
前言在Python中,函数是组织代码、提高重用性与可读性的基本构建块。随着程序逻辑的复杂性增加,函数的使用也逐渐演变出更多的形式和技巧。 本章详细讲解了Python函数的进阶使用,包括函数的多返回值、函数的多种传参方式以及匿名函数。
高阶函数 First Class Object # 函数在Python 中是一等公民 # 函数也是对象,可调用的对象 # 函数可以作为普通变量,参数,返回值 等等 __doc__)) 文档字符串 python 的文档 Python 是文档字符串 Documentation Strings 在函数语句块的第一行,且习惯是多行的文本,所以多使用三引号 __doc__)) name=add doc= This id a function of addition Python 类型注解 Python 是动态语言,变量随时可以被赋值,且能赋值为不同的类型 Python 不是静态编译型语言,变量类型是在运行器决定的 # 如何解决这种动态语言定义的弊端 增加文档 Documentation String 函数注解 def add(x:int 只对函数参数做一个辅助的说明,并不对函数参数进行类型检查 # 提供给第三方工具,做代码分析,发现隐藏bug # 函数注解的信息,保存在__annotations__属性中 # Python
Python官网的itertools说明: https://docs.python.org/3.6/l... .,9,10] list(range(1,11)) # 生成[1x1, 2x2, 3x3, ..., 10x10] [x * x for x in range(1, 11)] # 可以通过占位符_代表列表中的元素 例如,在一个list中,删掉偶数,只保留奇数,可以这么写: list(filter(lambda x: x%2 == 1, [1, 2, 4, 5, 6, 9, 10, 15])) sorted函数 Python .. repeat() elem [,n] elem, elem, elem, ... endlessly or up to n times repeat(10, 3) --> 10 10 10 “有限 中,一个Python文件就是一个模块。
一、继承 Python 类在定义时可以在小括号中指定基类,所有 Python 类都是 object 类型的子类。
1.Python正则表达式模块 1.1 正则表达式处理字符串主要有四大功能 匹配 查看一个字符串是否符合正则表达式的语法,一般返回true或者false 获取 正则表达式来提取字符串中符合要求的文本 替换 如果当前组没有参与匹配就返回-1 08. m.span() 返回一个二元组,内容分别是m.start(g)和m.end(g)的返回值 09. m.re() 产生这一匹配对象的正则表达式 10 3.python里使用正则表达式的组匹配是否成功之后再自引用 在前面学习了通过名称或组号来引用本身正则表达式里的组内容,可以实现前后关联式的相等判断。 4.python里使用正则表达式来替换匹配成功的组 在前面主要学习了怎么样匹配成功,都没有修改原来的内容的。 因此使用这样的语法:\g #python 3.6 # import re bold = re.compile(r'\*{2}(?P<bold_text>.*?)
Python本身没有处理矩阵的数据类型,因此需要使用附件的函数库。 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 这种扩展库可以用来存储和处理大型多维矩阵,比Python自身的列表结构要高效很多。 默认开始值和结束值都是10的幂,可以用base = n 修改。 ? 数组元素的存取 数组元组的存取方法与Python的标准方法相同。 ? import numpy as np #生成数据 x = np.arange(1,10,1).reshape(3,-1) #保存数据 np.savetxt('test.txt', x) # 默认按照
value in kwargs.items(): print ("{0} == {1}".format(key,value)) greet_me(name='michong',age=10 ) 输出 name == michong age == 10 标准参数与args、*kwargs在使⽤时的顺序 Code demo_func(fargs, *args, **kwargs 循环遍历的过程叫迭代 ⽣成器(Generators) 它也是一中迭代器,使用yield生成一个值 Code def generator_function(): for i in range(10 /3的兼容性 # 在python2中map直接返回列表,但在python3中返回迭代器 # 因此为了兼容python3, 需要list转换⼀下 # Output: # [0, 0] # [1, 2] 下面执行的是列表里面所有的元素相互相加的功能 from functools import reduce reduce((lambda x, y:x+y),[1,2,3,4]) output: 10
函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. temp = 39 wetness = 10 print("测量结束...") 1 - 使用临时变量 c = b b = a a = c 解法 2 —— 不使用临时变量 # 解法 2 - 不使用临时变量 a = a + b b = a - b a = a - b 解法 3 —— Python 函数的参数 进阶 3.1. 不可变和可变的参数 问题 1:在函数内部,针对参数使用 赋值语句,会不会影响调用函数时传递的 实参变量? —— 不会! 1, 2, 3]) print(num_list) gl_list = [6, 7, 8] mutable(gl_list) print(gl_list) 面试题 —— += 在 python
重新作为普通用户登录这个新数据库,创建表,然后通过 Python 执行一些常用的 SQL 查询和命令;使用游标以及 execute() 方法。