欢迎来到今天的讨论,我们将探讨,python编辑器pycharm安装教程 python编辑器安装与配置,让我们开始吧!
一、Python数据结构 不可变数据结构(3 个):Number(整数)、String(字符串)、Tuple(元组) 可变数据结构(3 个):List(列表)、Dictionary(字典)、Set(集合) Python 支持三种不同的数值类型:整型(int)、浮点型(float)、复数(complex) Python不同于其它语言,只有一种类型int,不区分short、int、long类型;浮点数只有一种类型float,不区分float与double类型 1.1 列表 list = [‘red’, ‘green’, ‘blue’, ‘yellow’, ‘white’, ‘black’] list列表反转方法: 第一种,是可以通过倒序切片反转,然后步长是 -1,; 第二种,是可以通过列表的方式,列表有一个方法叫做 reverse ,可以实现反转 列表切片: “切片”操作用于从某个对象中抽取部分值的情况python零基础安装编译器。 理论上,只要条件表达式得当,可以通过单次或多次切片操作实现任意目标值切取 索引方式:object[start_index:end_index:step]
start_index:表示起始索引(包含该索引对应值)
end_index:表示终止索引(不包含该索引对应值)
step:正负数均可,其绝对值大小决定了切取数据时的"步长"
例:List = [0,1,2,3,4,5,6,7,8,9] 一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index:end_index:step)
a[-1:-6:-1] [9, 8, 7, 6, 5] //step=-1,start_index=-1到end_index=-6是从右往左取值 b = a[::2] //从最开始的值取到最后的值,步长为2:[0, 2, 4, 6, 8] 当只有一个“:”时:默认第三个参数step=1 a[6:] [6, 7, 8, 9] //step=1,从左往右取值,从start_index=6开始,一直取到“终点”值9。 当一个“:”也没有时,start_index=end_index,表示切取start_index指定的那个元素 1.2 元组 tuple = (‘Google’, ‘Runoob’, 1997, 2000) 1.3 字典 d = {key1 : value1, key2 : value2, key3 : value3 } tinydict = {‘name’: ‘runoob’, ‘likes’: 123, ‘url’: ‘’} 1.4 集合 集合set是一个无序的不重复元素序列 parame = {value01,value02,…} set(value) 区别:列表可以修改,而字符串和元组不能 二、Python输入输出 input() 函数接受一个标准输入数据,返回为 string 类型 注意:input语句输入的内容只能是字符串类型,如果需要输入Int类型的数据,需要使用int()方法给输入的内容制作强制类型转换 a = input(“请输入一个整数:”) print函数可以输出的内容: print(520) //数字 print(“helloworld”) //字符串 print(3+1) //表达式 文件输出 fp=open(‘’,‘a+’) print(‘helloworld’,file=fp) fp.close() print() 输出的形式: print(“helloworld”) //换行输出; print(‘hello’,‘world’,‘python’) //逗号分隔不换行 三、Python函数 函数与方法 函数(function)是Python中一个可调用对象,而方法(method)是一种特殊的函数 自定义函数 #计算面积函数 def area(width,height) return width * height 不带表达式的return相当于返回 None 系统函数 list() 用于将其他序列转换为列表 range() 可创建一个整数列表,一般用在 for 循环中 range(10)
从 0 开始的十个数字 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11)
从 1 开始到 11(不包含11)
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5)
步长为 5 [0, 5, 10, 15, 20, 25]
join() 用于将序列中的元素以指定的字符连接生成一个新的字符串 num2 = [‘4’, ‘2’, ‘4’, ‘2’, ‘3’, ‘2’, ‘1’] print(‘’.join(num2)) #将列表num2转化为字符串,输出4242321 匿名函数 Python 中定义匿名函数非常简单,通过 lambda 表达式来定义就可以了; lambda 表达式的基本句法是:lambda 空格 然后加上函数的参数,接下来在冒号后面跟上函数的返回值;,在lambda 函数中不能有return, 因为:后面就是返回值 例:
c = lambda x,y=2: x+y #使用了默认值 c(10) #不输入数据的话,使用默认值2 12 函数参数定义 函数的参数定义方式有三种:必传参数、默认参数、可变长参数 函数重载机制 函数重载主要是为了解决两个问题:第一个,是可变参数类型,第二个,是可变参数个数; 在 Python 当中参数不需要申明类型,函数是可以接受任何类型的参数的;如果函数的功能相同,一个函数就可以处理了; 在 Python 当中通过 一个 * 号 和 两个 ** 号 来处理可变参数个数;所以在 Python 里面他不需要处理函数重载; 四、数据结构 顺序 有序序列包括:列表,元组,字符串 (list,tuple,string) 无序序列:字典,集合 (dictionary,set )(python3.6的版本显示出来的字典是有序的) 重复 列表和元组的元素可以重复 集合是一个无序不重复元素集 字典的键是不能重复的,值可以重复 是否可变 元组是有序不可修改的,是只读的,不能修改,一旦创建就固定了 更改列表数据类型 要将列表的数据类型进行更改,可以使用tuple()或者set() is和== ==比较两个对象或值的相等性。 is运算符用于检查两个对象是否属于同一内存对象。 五、垃圾回收 Python垃圾回收机制主要以引用计数为主,分代回收为辅。 Python 中一切皆对象,引用计数法的原理是每个对象维护一个引用计数,用来记录当前对象被引用的次数,当这个对象的引用计数(指针数)为 0 的时候,说明这个对象永不可达,自然它也就成为了垃圾,需要被回收。 匿名函数lambda Lambda函数是不带名称的单行函数,可以具有n个参数,但只能有一个表达式。也称为匿名函数。 a = lambda x, y:x + y print(a(5, 6)) 11 五、Python语句 1,分支选择语句 switch语句是实现多分支选择功能,根据列表值测试变量。 switch语句中的每个值都被称为一个case。 在Python中,没有内置switch函数,但是我们可以创建一个自定义的switch语句。 装饰器 python装饰器本质上是一个函数,装饰器的返回值也是一个函数对象。。它封装一个函数,并且使用不同的操作方式来修改这个被封装函数的行为。让其他函数在不需要做任何代码变动的前提下增加额外功能,他们有助于让我们的代码更简短。 装饰器用于以下场景:插入日志(统计函数执行时间)、权限校验、性能测试、事务处理、缓存等场景 三方库和模块 1,python造数 使用python三方库:Faker Faker 是一个生成伪造数据的 Python 库,Faker 数据通常用于测试或用一些伪数据填充数据库。 Python-OOPS 面向对象编程:抽象(Abstraction)、封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism) 类和对象 在Python中为类创建一个对象,例如:obj = num() 使用类的对象,我们可以访问类的所有成员,并对其进行操作。 继承 继承允许一个类获取另一个类的所有成员和属性。继承提供代码可重用性,可以更轻松地创建和维护应用程序。被继承的类称为超类,而继承的类称为派生类/子类。 过滤器 用过滤器可以筛选字典中,大于某个阈值的项 当我们处理一些数据时,常常需要对数据进行筛选、转换等操作,过滤器很好用 迭代器 迭代器(iterator)是一种可以记住遍历对象位置的对象 对于序列的数据结构我们可以使用iter()方法创建迭代器 之后调用next()函数进行迭代输出 生成器 使用了 yield(产出) 的函数被称为生成器(generator)。 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器 调用生成器的主要目的是节省存储空间,假如我们需要打印一个含有1000个有规律的元素列表,如果我们创建了这个列表,那么将会占用很大的空间,使用生成器时仅会保存当前的运行信息,并在下次执行时从当前位置开始执行,节省了空间 常用函数 1,增加元素 append:在列表末尾添加新元素。 insert:在列表的特定位置添加元素。 extend:通过添加新列表来扩展列表。 2,删除元素 remove:将删除列表中的第一个匹配值,它以值作为参数。 del:使用索引删除元素,它不返回任何值。 pop:将删除列表中顶部的元素,并返回列表的顶部元素。 3,split()函数 Python中,split函数的基本用法是将字符串按照指定的规则或者要求进行分割,并返回list值 4,map()函数 map() 会根据提供的函数对指定序列做映射。 Python 2.x 返回列表。 Python 3.x 返回迭代器。 高频编程题 (简单)反转Python字符串 1,使用索引切片 切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法 string = ‘hello’ string[::-1] ‘olleh’ 2,使用reverse()函数 (简单) 给你一个随机字符串,统计它的长度 如果想要动态获取用户输入的字符串长度,可以使用input( )函数来获取用户输入的字符串。示例代码如下: random_str = input("Please enter a random string: ") length = len(random_str) print(“The length of the string is:”, length) (一般) 给你一个随机字符串,统计里面大小写字母出现的次数
随机字符串
random_str = “AbcDeFgHijklMNOpqRstUVWXYZtuvwxyz”
统计大写字母和小写字母的数量
upper_count = 0 lower_count = 0
遍历字符串中的每个字符
for char in random_str:
如果是大写字母,则将大写字母数量加1
if char.isupper(): upper_count += 1
如果是小写字母,则将小写字母数量加1
elif char.islower(): lower_count += 1
输出结果
print(“The number of uppercase letters is:”, upper_count) print(“The number of lowercase letters is:”, lower_count) 其中,random_str是一个随机字符串,isupper()方法可以判断一个字符是否为大写字母,islower()方法可以判断一个字符是否为小写字母。通过遍历字符串中的每个字符,可以统计大写字母和小写字母的数量,最后使用print()函数输出结果。 编写程序,查找文本文件中最长的单词 def longest_word(filename): with open(filename, ‘r’) as infile: words = ().split() max_len = len(max(words, key=len)) return [word for word in words if len(word) == max_len]print(longest_word(‘’))
[‘comprehensions’] 编写程序,检查序列是否为回文 a = input(“Enter The sequence”) ispalindrome = a == a[::-1] ispalindrome True 六,面试常见问题总结 (难) Python怎么解析日志文件,说说用到的库和思路 解析日志文件是软件测试和故障排查中的常见操作。 通常的思路是:读取日志文件,对每一行数据进行解析和处理,然后对所需的信息进行保存或者展示。在处理过程中应该考虑到数据结构和复杂度,以及代码的可重用性和可维护性等问题。 .re(正则表达式):通常情况下,日志文件都有特定的格式,使用re库可以方便地从日志文件中提取出所需的信息。例如,使用re.findall()方法可以根据正则表达式匹配日志行,并从中提取出关键信息。 .Pandas:Pandas是一个功能强大的数据处理和分析库,可以用于处理大规模日志数据集。它提供了灵活的数据结构、数据的读写和过滤等功能,并且可以进行统计、聚合以及可视化等操作。 .Numpy:Numpy是Python中最基础的科学计算库之一,它提供了高效的数值计算和矩阵运算,可以用于日志文件中数据的处理和分析。 .Scipy:Scipy是针对科学和工程计算的Python库。它提供了多种算法和工具,例如优化、信号处理、统计分析等,可以在日志数据的预处理和分析中发挥作用。 脚本打包 使用Python第三方打包库PyInstaller将py文件打包成一个可执行的exe文件 在使用时无需安装Python也可以点击运行 (需要提前准备ico图标文件) 打包执行代码命令:pyinstaller -F te ;
原文地址1:https://blog.csdn.net/weixin_45011930/article/details/136719213
参考资料:python中用turtle画一个圆形 https://blog.csdn.net/SXIAOYAN_/article/details/140061099