Python 判断字符
s为字符串
s.isalnum() 所有字符都是数字或者字母
s.isalpha() 所有字符都是字母
s.isdigit() 所有字符都是数字
s.islower() 所有字符都是小写
s.isupper() 所有字符都是大写
s.istitle() 所有单词都是首字母大写,像标题
s.isspace() 所有字符都是空白字符
counter类:
调用Counter 类使用的方法为:
from collection import Counter
python中的counter类_安吉尼尔的博客-CSDN博客_python中counter调用Counter 类使用的方法为:from collection import CounterCounter用于计数,调用它会返回一个key为列表的值,value为该值的具体个数的对象我们首先创建一个一维数组:x=np.random.random_integers(1,10,100)然后结果是如下所示: 接下来我们使用Counter()进行计数:coun...https://blog.csdn.net/qq_31385713/article/details/82562752?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164610374016781685333890%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164610374016781685333890&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-82562752.pc_search_result_cache&utm_term=python+Counter&spm=1018.2226.3001.4187
enumerate() 函数:
enumerate()为python的内置函数,用于将可遍历的元祖,列表,或字符串进行序列化(每一个元素弄上标号)
1、判断一个变量的类型(变量已事先声明)
Print(type(变量))
输出 :<class ‘类型’>
2、
单行注释:#
多行注释:‘’’(三个单引号)
strip方法:
删除字符串首尾的空格 :
例如:
str="电影《芳华》的主演主要有:黄轩,苗苗,钟楚曦,杨采钰......" # (2) 从这段文字中,截取主演的姓名,即得到“黄轩,苗苗,钟楚曦,杨采钰......” # (提示,使用split函数) str1=str.strip("电影《芳华》的主演主要有:")
3、使用input输入的 系统都默认为 str类型 除非你强制类型转换4、else 和elseif 一起使用
5、同一个代码块下面的语句前面的空格必须一样大小,长短
6、
7、运算符优先级
8、随机数
Randint(0,2) int 表示产生随机数的类型 0、2 表示随机产生0~2 这个范围内
9、if嵌套的格式
10、range
11、转义字符(加粗需要记住 其他了解)
12、字符串的选择性输出
13、乘法反复输出
14、输出加 r 转义字符失效(大小写都一样)
15、常用操作
16、列表
增
(1)append 与extend 的区别
append:整体加入
extend:取出元素 再加入
例子:
append输出: [1,2, [3 , 4] ]
extend输出: [1,2,3,4]
(2)insert的应用
删
17、del、pop、remove的应用
del:删除指定位置的元素
pop:弹出(删除)最后一个元素
remove:删除括号内指定的元素 (如果有重复 只删除找到的第一个元素 其他的不管)
改
18、= 号(赋值号)
a=["1","2","3"]
a[1]="0" 直接指定下标
输出: a=["1" , "0" , "3"]
list1= [1,2,3]
list2= list1 #此时 他们指向同一内存空间
list 2[2]=[6] #此时他们 的值都共同改变
查
19、index、count
方法一:
a=["1","2","3"]
i=input("请输入你要查找的元素")
if i in a:
print("找到了")
else:
print("没找到")
方法二:index
a=["1","2","3"]
a.index("1",0,3) #从下标0开始到3 左闭右开 找到了返回下标 没找到就报错
方法三:count
a=["1","2","3"]
print( a.count("1") ) #统计你要查找的元素的个数
排序和反转
20、reverse(反转)、sort(升序)sort(reverse=True)(降序)
21、元组(Tuple)
不允许修改
增:
tuple1 = (1,2,3)
tuple2 = ("aaa","ddd")
tuple = tuple1+tuple2
print(tuple) #输出 (1,2,3,“aaa”,“ddd”)
删:
tuple1 = ("a",1)
del tuple1 #删除的是整个元组变量(内存删除)
查:
22、字典(dict 其中的元素不能重复)
dict1={"name":"蒋欢","age":18}
dict2={"name":"蒋欢","age":18}
print(dict1["name"])
# 增
id = input("请输入您要增加的值:")
dict1["newid"] = id
# 删
del dict2 #从内存里面删除,删除的是整个字典(删除)
dict2.clear() # 只删除其中的值 保留字典(清除)
print("%s"%dict2)
# 改
dict2["name"] = "杨灿"
# 查
print(dict1.keys()) #输出所有的键
print(dict1.values()) #输出所有的值
print(dict1.items()) #输出所有的项(列表),每一个键值对是一个元组
'''
dict1={"name":"蒋欢","age":18}
for key in dict1.keys():
print(dict1[key])
print()
for value in dict1.values():
print(value)
print()
for key,value in dict1.items():
print("key=%s,value=%s"%(key,value))
#用枚举类型同时得到 下标和元素内容
for i,x in enumerate(dict1):
print(i,x)
小结:
23、函数(
def (参数列表):
代码
)
(1)不定长参数(0或者多个)
课堂练习
1.写一个打印一条横线的函数。(提示:横线是若干个""组成)
2写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:调用上面的函数)3.写一个函数求三个数的和
4.写一个函数求三个数的平均值(提示:调用上面的函数)
【建议每题5分钟以内】
# 1.写一个打印一条横线的函数。(提示:横线是若干个""组成)
def one():
print("\"\"\"\"\"\"")
#2写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:调用上面的函数)
def two(a):
i = 1
while i<=a:
i+=1
one()
two(2)
#3.写一个函数求三个数的和
def three(a,b,c):
sum=a+b+c
return sum
print(three(1,2,3))
#4.写一个函数求三个数的平均值(提示:调用上面的函数)
def four(a,b,c):
avg= three(a,b,c)/3
print(avg)
four(1,2,3)
24、文件操作
open (文件名,访问模式)
访问模式(一部分):
a = open("text.txt","w") #打开文件 以 W(创建)的方式,不存在就创建 a.write("123") #写入 a.close() #关闭文件 遍历 a= open("text.txt","r") #打开文件 以 r(创建)的方式 r是默认的 可以省略 conut1 = a.read(3) #read 读 如果有多个read 下一个read从上一次读取的最后位置 开始 print(conut1) conut = a.readlines() #readlines 一次性读取全部文件为列表 print(conut)
conut = a.readline() #readline 一次性读取一行为列表
print(conut)
import os 执行以下操作需要导入此库
改:
rename(旧文件名,新文件名)
os.rename(“text.txt”,"text1.txt")
删:
remove(删除的文件名)
os.remove("text.txt")
创建:
os.mikdir("文件名")
获取当前目录:
os.getcwd()
获取目录列表:
os.listdir(" . / ")
改变默认路径:
os.chdir(" . . / ")
删除文件夹:
os.rmdir("文件夹名")
25、异常和错误
异常:可以提前预知的
exception:可以包括所有的异常
格式:
try:
代码
except (异常类型1,异常类型2,。。) as 异常情况描述(一个变量):
捕获到异常后需要执行的语句
print(异常情况描述(变量))
try 的嵌套和 finally
finally:无论如何都要自行的语句
try:
代码
except (异常类型1,异常类型2,。。) as 异常情况描述(一个变量):
捕获到异常后需要执行的语句
print(异常情况描述(变量))
finally:
代码
———————————————————— except 和finally位置可以互换
26、深拷贝和浅拷贝
例如:
####浅拷贝(第一层)
a= "1,3"
b=""
b=a
#此时 他们公用同一内存空间 之后 你不管对谁进行修改的操作 两个都会改变
a= "1,3"
b=""
b=a
#只需要添加 一个.copy 进行修改等操作时候 他们两个就会分来算 不会互相干扰
深拷贝
例如:
list1[1,2, [3,4 ] ]
#此时 1,2 属于第一层 [3,4] 属于下一层 要想 互不干扰 要使用深拷贝
list2=[ ]
list2=copy.deepcopy(lsit1) #copy.deepcopy( )
27、类
(1).定义
使用Class 关键字 定义
类名首字母一般大写
class 类名:
def __init__=(self,参数1,参数2,。。。。)
self.属性名= 参数1
self.属性名= 参数2
def 方法名():
代码
(2).实例化
跟函数的定义类似,类定义后,需要创建类的实例才可以使用
类的实例化跟函数的调用方式类似,使用类名实现实例化,同时传入参数
创建对象的过程称为实例化
实例对象 = 类名(参数1,参数2) #实例对象
实例对象.方法名 #调用方法
(3).私有方法和属性
在定义属性和方法时,在前面加上两个下划线(__)
这种属性叫做私有属性
把这个方法叫做私有方法
对象._类名.__属性名 #对象调用 私有方法
(4)静态属性
定义在 __init__ 方法外
只有类可以修改静态属性,类的对象不可以修改
类的对象和类本身都可以直接读取静态属性,属于类的对象全部都共享这个方法
(5)静态方法
使用@staticmethon修饰符可以把函数修改为静态方法
静态方法可以不用指定 self 参数
(6)类的构造函数和析构函数
没有定义构造函数时 系统也会自动调用它
(7)继承
(1)单层继承
格式:
class 子类名(父类名):
def __init__(delf,父参数1.父参数2,子类新增参数1)
#首先说明父类的构造方法,可以新增子类参数
28、多态
不同对象调用 同一方法 得出不同的结果(同类 不同类都行)
29、
30、