首页 > 编程语言 >聪明办法学python——06,07

聪明办法学python——06,07

时间:2023-12-01 13:23:17浏览次数:53  
标签:06 07 索引 python print range 循环 字符串

聪明办法学python——Task6,Task7

Task06——循环

for循环和循环范围

特点:

基于提供的范围,重复执行特定范围的操作

for x in range(n,m+1):
   count+=1
return count

range(x,y)是左闭右开的区间,不含y

return sum(range(m,n+1))

range的第三个参数是步长,可正可负

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

这种建议换成以下写法:

for i in reversed(range(0,10,1)):
   print(i)

这是一个反转函数

for循环嵌套

在python中for循环会花费很长时间,如果有时间限制时建议少用for循环

while循环

不知道循环何时停下可以用while

Bad Style:在已知循环范围的情况下用while

假.死循环

与环境交互后,在特定条件下终止的循环

没有结束的契机,计算机不会有死循环

isPrime判断一个数是不是质数

isPrime耗时可以少很多,比普通办法快将进6000倍

nth Prime

依次找出第n为质数

剪枝

可以缩小搜索范围和循环范围,大幅度提高程序运行效率

Task07——字符串

字符串文字

四种引号

单引号,双引号(大部分情况等价)

三个引号(不常见,可以写多行)

当在字符串中输出一个引号时,要与外部使用的引号区分开

当只是用一种引号时,会报错SytaxError,发生了语法错误,无法判断一个字符串的终止位置

字符串中的\换行符号

前面有\的字符叫做转义序列

\n换行符

print(hello\nworld)
print('''hello
world''')

上述两种写法相同

在三个引号内部本来是换行的地方可以加\表示去掉换行

其他的转义序列

输出‘,“,\之类的符号时在前边加一个\就可以正常打印出来

\t制表符#相当于键盘的Tap键

转义序列只能作为一个字符存在

REPR()VS.PRINT()

有时候print输出看到的内容并不是真正在print()中的内容,一些制表符之类的是看不到的

如果看不到的部分是一段木马病毒,那么一旦运行是很危险的

使用这个REPR()VS.PRINT()可以看到看不到的部分

print(repe())

多行字符串作为注释

不会影响执行,可以提供文本支持,虽然python本身没有多行注释

字符串常量

string
import string
print(string.)

大小写字母 .ascii_letters

小写 .ascii_lowercase

大写 .ascii_uppercase

数字 .digits

标点符号 .punctuation

所有python支持打印出的字符 .printable

空白字符 .whilespace

字符串运算

'+'表示把两个字符串连接起来

*表示有几个连接起来

in运算
print('ring' in 'string')#True

字符串索引和切片

索引从0开始,通过字符串[索引]找到位置

负数索引

-n表示倒数第n个数

切片

获取字符串的一部分

#s='Datawhale'
print(s[0:4])#Data

左闭右开

默认参数

左边为0,右边-1

第三个参数step

表示隔n取一个数,并且索引为0已经取了;

#s='Datawhale'
print(s[:9:3])#Daa
翻转字符串

reversed(字符串)

join
print("".join(reversed(字符串))

字符串循环

用索引的for循环

或者,不用索引,直接for i in 字符串(in很好用)

enumerate获得元素的序号

for idx,c in enumerate(s):
   print(idx,c)
#0 D
1 a等等

zip(a,b)在一次循环中,分别从a和b里同时取出一个元素

for idx,(a,b) in enumerate(zip(s,reverseString(s))):
   print(idx,a,b)
#0 D e
#1 a l等等
split()循环
class_name="learn python the smart way"
for word in class_name.split():
   print(word)

名字.split()会产生一个新的叫做列表的东西

splitlines()循环

同样在产生一个列表,但不储存任何内容,且以行为分割

一些跟字符串相关的内置函数

str() len() chr() ord()

ord()是字符对应的ASCII码,chr()是ASCII码对应的字符

 

eval(s)会执行s算式得出结果,但是当s是一个恶意代码是这是很危险的

推荐使用ast.literal_eval(s)

如果安全会执行

字符串方法

”大写“.lower改成小写

”小写“.upper改成大写

.strip()去掉首尾的空格

”字符串“.replace('a','b')把字符串中的a用b替换掉

”“.count("")计算某个字符出现的次数

.startswith判断字符串中有没有某个部分

.endswith判断是否以什么结尾

.find找到某个东西的位置(索引)或-1(没找到)

字符串是不可变的

基础文件操作

open(file,mode)打开文件并返回文件对象

file为文件路径,mode为读取模式

  • r:以字符串形式读取

  • rd:以二进制形式读取

  • w:写入文件

  • a:追加写入文件

file.close()操作后要关闭文件

w么事会覆盖之前的内容可以用a模式追加

with语句
with open('',"w",encoding="")as file:
file.write()
 

标签:06,07,索引,python,print,range,循环,字符串
From: https://www.cnblogs.com/y-x-t-dbk/p/17869483.html

相关文章

  • Python中使用OpenpyXL操作Excel
    一、安装openpyxl库可以使用命令pipinstallopenpyxl指定版本与切换国内源请查看pyMySQL库那那一文章的详细解答Python中使用PyMySQL库连接MySQL数据库-AiniIT琦玉-博客园(cnblogs.com)二、读取Excel1、读取全部读取excel写法逻辑如下:读取#调用函数,传递文件名#......
  • 无涯教程-Python - 处理非结构化数据
    以行和列格式存在的数据,或可以轻松转换为行和列的数据,以便以后可以很好地适合数据库的数据称为结构化数据,例如CSV,TXT,XLS文件等。读取数据在下面的示例中,无涯教程获取一个文本文件并读取该文件,其中分离了其中的每一行,接下来,可以将输出分为更多的行和单词。filename='path\inp......
  • Python中使用PyMySQL库连接MySQL数据库
    一、什么是PyMysqlPyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,PyMySQL遵循Python数据库APIv2.0规范,并包含了pure-PythonMySQL客户端库。二、安装PyMysql可以使用命令pipinstallpymysql如果需要确定版本号,则可以使用以下命令pipinstall<包名......
  • Python中的装饰器
    一、装饰器的作用装饰器是Python中一种强大的编程工具,它允许我们在不修改原始函数代码的情况下,动态地增加功能或修改函数行为。装饰器提供了一种简洁而优雅的方式来修改、扩展或包装函数,使代码更具可读性和可维护性。装饰器的主要作用包括:添加额外的功能或逻辑,如日志记录、性......
  • python装饰器
    装饰器本质上是一个Python函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象Python中的函数可以像普通变量一样当做参数传递给另外一个函数,也可以把一个函数作为返回值,这类函数被称为高阶(Higher-order)函数它经常......
  • python HTTP Server 文件上传与下载
    pythonHTTPServer文件上传与下载实现在局域网(同一WIFI下)文件上传与下载该模块通过实现标准GET在BaseHTTPServer上构建和HEAD请求。(将所有代码粘贴到同一个py文件中,即可使用)所需包基于python3版本实现,python2版本无涉猎importosimportsysimportargparseimport......
  • python装饰器
    importtimedefwrapper(type):print('start------',type)defoutter(fun):definner(*args,**kwargs):start_time=time.time()fun(*args,**kwargs)end_time=time.time()print('ru......
  • python助手
    python助手AssumetheroleofPyAssist,ahighlyskilledAIassistantspecializinginPythonprogramming.AsanexpertinthePythonlanguageanditsecosystem,yourmissionistoprovideguidance,support,andvaluableinsightstousersseekinghelpwithP......
  • 【Python】十六进制、八进制、二进制的写法
    1、十六进制语法:0x开头a=0x1122、八进制语法:0o开头a=0o1123、二进制语法:0b开头a=0b112......
  • 如何在 Python 中做到类似 #ifdef DEBUG
    类似#ifndefNDEBUGdo_something(...)#elsedo_otherthing(...)#endiflogging模块如果有无NDEBUG,只在于是否输出一些信息,那么可以使用logging模块,这是一个用于记录和管理日志信息的标准库,通过配置日志级别,可以控制不同等级的日志的输出。importlogginglogging.basic......