python学习笔记

                                                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的内置函数,用于将可遍历的元祖,列表,或字符串进行序列化(每一个元素弄上标号)

Python enumerate() 函数_人生苦短,我用python-CSDN博客enumerate()为python的内置函数,用于将可遍历的元祖,列表,或字符串进行序列化(每一个元素弄上标号)code:seq = ['one', 'two', 'three']for i, element in enumerate(seq):print(i, element)成果:错误分析:如果直接多写一个变量的话,则会显示too many values to unpac...https://blog.csdn.net/qq_40258748/article/details/90048005?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164610966816780366534736%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164610966816780366534736&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-3-90048005.pc_search_result_cache&utm_term=Python%E4%B8%ADenumerate%E5%87%BD%E6%95%B0%E4%BB%A3%E7%A0%81%E8%A7%A3%E6%9E%90&spm=1018.2226.3001.4187




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)


 


集合:https://blog.csdn.net/dddxxy/article/details/94435402?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E9%9B%86%E5%90%88&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-94435402.nonecase&spm=1018.2226.3001.4187


小结:


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、

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·惊鸿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值