循环
-
range(x, y)左闭右开区间,生成数列,起始默认为0,第三个参数 ”步长“。
-
反转函数reversed(range(0,10,1)),倒过来。
-
for循环(知道循环范围),while循环(不知道什么时候停下来)。
-
break 跳出当前整个循环;continue 跳过这次循环。
-
拓展:
算法提升---剪枝
正态分布
from random import random random()调用随机数
import numpy as np #作矩阵生成一个包 import matplotlib.pylot as plt #绘图的包 %matplotlib inline #图直接显示
字符串
-
前面有反斜杠\的字符,叫做转义序列。转义字符只作为一个字符存在。
\\表示的字符就是\
\n,\t(制表符)
-
repr()【辨真身】(将对象转化为供解释器读取的形式)
-
字符串运算
+合并,*重复
-
in运算超级好用
for c in s: print(c)
-
字符串索引和切片
len(s)
索引可以为负(从-1开始),正数从0开始
切片 s[ :] 左闭右开,s[:]默认[0:-1]
第三个参数step
优雅倒序
def reverseString(s)
return s[ : :-1]
print(reverseString(s)) -
可以使用enumerate()获得元素序号
for idx,c in enumerate(s): print(idx,c)
-
zip(a,b)可以在一次循环中分别从a,b中取出一个元素
for a,b in zip(s1,s2): print(a,b)
-
用splitlines()来循环,生成一个列表,但不存储任何内容
for lines in s.splitlines(): -
char()和ord()
python内置函数chr根据传入的int类型参数返回对应的Unicode码位的字符,比如chr(65) 返回的是字符串A; ord函数可以将字符转化为你所需要的ASCII码。
-
eval()--把数据还原成它本身或者是能够转化成的数据类型,还可以对字符串的输入直接计算,但有安全隐患。
ast.literal_eval()--会判断需要计算的内容计算后是不是合法的python类型,如果是则进行计算,否则就不进行计算。
-
s.lower()/.upper()转换大小写
.strip()可以将字符串首尾的空格删除
-
s.replace(old,new,count)【注意:返回一个新的字符串,原始字符串不会改变】
-
old -- 指定的旧子字符串
-
new -- 指定的新子字符串
-
count -- 可选参数,替换的次数,默认为指定的旧子字符串在字符串中出现的总次数
-
-
.count()--括号中的字符串出现的次数,还可以再加两个数字参数表示字符串开始搜索和结束搜索的位置。
-
.startswitch()--用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。
.endswitch()--用于判断字符串是否以指定后缀(元素)结尾,如果以指定后缀(元素)结尾返回True,否则返回False。
-
.find()--查找字符串的位置(索引)。.index()找不到就会报错。
-
字符串是不可变的,它的别名也是不可变的。
python文件操作
-
open(file,mode)#file 指读写文件的路径,mode指读取文件的模式
-
.close() #关闭文件对象
-
r:只读 (不传,则是只读)【该模式下:read() :读取全部内容;readline() : 读取一行内容;readlines() :读取每行行内容,放进列表】
w:可写 ,表示覆盖,如果文件不存在会创建文件【write(),writelines()】
a:可写 ,表示追加,如果文件不存在会创建文件
b:读取二进制文件
t:读取文本文件
-
python提供了一个语法,可以自动帮忙关闭
with open(fileName, "a", encoding="utf-8") as f: