小李学python <( ̄︶ ̄)↗[GO!]

哦豁,小李学python,如果有发现错误的地方,欢迎指正嗷😊
os搞得还不是很行,还会继续努力的
类和对象还没搞完,笔记也就有亿点凌乱,还要继续学习的
小李冲冲冲~~~~
<( ̄︶ ̄)↗[GO!]

基本语法


  1. \为转义字符,r可以让他不转义,eg r"this is a line with \n" 则 \n 会显示,并不是换行
    r和f都出现的时候谁在前都可
  2. Python 可以同一行显示多条语句,方法是用分号 ;
  3. python代码块不使用{},而是用缩进,对缩进要求严格
  4. python中以换行作为语句的结束符
    可以用多行连接符(\)来将一个语句写在多行,在这行最后加一个\,即可和下一行连
    语句中包含()[]{}可以不用\直接换行
  5. 引号:三引号的形式’‘‘abc’’'或"““abc””",三引号中的部分可以换行
  6. 单行注释# 多行注释 三个单引号或三个多引号
  7. 字符串可以用+连接起来,也可以用 * 表示重复 print(“hello world\n”*2)
  8. 字符串:两种索引方式,从左往右,从0开始;从右向左,-1开始;
    字符串的截取:变量[头下标:尾下标:步长] 尾下表不包括,
    print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
  9. print(‘abc’,‘cbd’)是可以的
  10. print(a,end=‘’)实现不换行,''内可以有其他字符,如空格!@#¥等
  11. 大驼峰命名法:每一个单词的首字母都大写
    小驼峰命名法:第一个单词的首字母小写,后面的首字母大写
  12. 控制浮点数输出位数print(round(a,4)),保留a的四位小数
  13. python输出一般自动换行,利用end=‘’,让他不换行
    eg.print(‘My pets’,end=‘’)就可以不换行,''之间可以换成别的字符
  14. 注意PEP 8 格式指南

变量和运算符


####pycharm中运行快捷键fn+shift+F10

  1. 在Python中为一个变量赋值的同时就声明了该变量,该变量的数据类型就是赋值数据所属的类型,该变量还可以接收其他类型的数据。
  2. 代码注释 #
  3. 修改字符串字母大小
  • name = "ada lovelace" print(name.title())
  • 结果为Ada Lovelace
    -整体大小写 .lower .upper
  1. 要在字符串中插入变量的值,可在前引号前加上字母f,再将要插入的变量放在花括号内。这样,当Python显示字符串时,将把每个变量都替换为其值。
  • 格式 f"hello {a}" -> 就是将a的值放在要输出的地方(类c语言的%)
  • eg.famous_person=input() message=f'{famous_person} once said, “A person who never made a mistake never tried anything new."' print(message)
  • f放在‘’外面!
  • print(‘ ’,变量,‘’)和print(f‘ {变量} ’)
  1. 添加空白
  • 用制表符\t(四个空格),换行符\n
  1. 删除用户输入的开头/结尾的空白(以比较字符串是否相等)
  • 保证结尾没有空白.rstrip()
  • 剔除开头的空白.lstrip()
  • 同时剔除字符串两边的空白.strip()
  1. 输入
  • x=input()
  1. 命名字符串时要加“” eg name=“abc \n abc"
  2. python中任意两数相除,结果总是浮点数,不管这两个数的类型
  3. 在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数;无论是哪种运算,只要有操作数是浮点数,Python默认得到的总是浮点数,即便结果原本为整数也是如此
  4. 数中的下划线:书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读;当你打印这种使用下划线定义的数时,Python不会打印其中的下划线
  5. 同时给多个变量赋值:可以x,y,z=1,2,3 只要数量对应就行,可以a=b=c=1
  6. 常量:在python中没有单独定义常量的,可用全大写字母进行区分
  7. python打印时无需单独换行,两个print不在一行就换行输出
  8. 变量不需要声明每个变量在使用前都必须赋值
  9. Python3 中有六个标准的数据类型
    Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)
    Python3 的六个标准数据类型中:
    不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
    可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
  10. 复数j或J不用定义,但前面的系数不能省,否则会默认j是变量
    复数也可以表示成complex(a,b),其中a b都是浮点数
  11. type(),isinstant()可以查询数据类型
    type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型
    class A: pass class B(A): #类class B继承类class A 的方法和属性 pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False
  12. 数值的除法包含两个运算符:/ 返回一个浮点数(不管除数和被除数是不是浮点数),// 返回一个整数
  13. 加号 + 是列表连接运算符,星号 * 是重复操作
  14. 隐式转化:无需人为干涉 低转高 如数学运算的时候
  15. 显式类型转化:int(),float(),str()等预定义函数
    注意:python类型转化int(),c 用(int)expression
  16. 海象运算符 #新加
  17. 按位或| 按位取反~ 按位异或 (相同为0,不同为1)
  18. 成员运算符
  19. 身份运算符(比较两个对象的存储单元):
    x is y, 类似 id(x) == id(y)
    x is not y , 类似 id(x) != id(y)
    id() 函数用于获取对象内存地址
  20. 比较运算符:输出结果是True 或False(而非0 1)
    eg.a=12;b=13;print(a==b)
    结果是False
  21. python中取整//,两道斜杠
  22. a=input() a的类型默认str;
    转化可a=int(input())
  23. python 中无自增增减即i++ i–

列表


  1. 形式:名称=[元素, ,] 注意:中括号,逗号
    列表的数据项不需要具有相同的类型
    当元素是字符时,注意’元素’或’‘元素’’
  2. 打印时,print(名称) -> 连带中括号一起打印
    print(名称[x])(x属于0~数量-1) 结果是第x+1个元素
    也可以这样使用 print(名称[x].title())
  3. 当在不知道列表长度时,要访问倒数几位,可以 名称[-1]指倒数第一个列表元素
  4. 修改元素的值:指出列表名和索引=改后的元素
  5. 定义空列表:列表名[]
  6. 添加元素
  • 在结尾添加元素:列表名.append(‘’) (另起一行即可,不能列表=列表.append)即可在最后添加元素,一次只能添加一个元素
  • 在中间添加元素:列表名.insert(a,‘’) 即将’'插到 [a],后面的顺位向后移
  1. 删除元素
  • del():另起一行 del a[2] 即可删除该元素,后续元素向前移
  • pop():
    * 若()中空着用于删除列表中的最后一个;
    可以光删除 eg.a.pop()
    也可以将删除的元素赋给另一个值,eg.b=a.pop()
    • 在()中指定要删除元素的索引可以删除任意位置的元素
      eg.a.pop(0)
    • 若从列表中删除元素,且不再使用,用del a[0]
    • 若删除之后还要使用,用b=a.pop(0)
    • remove():若不知道元素索引,只是知道它的值
      eg. a.remove(‘0’)
      删除后可以继续使用:在删之前把元素赋值给一个变量,然后使用变量删除列表中值,后续用变量来访问
      !注意! remove() 只删除第一个指定的值。如果要删除的值可能在列表中
      出现多次,就需要使用循环来确保将每个值都删除
  1. 访问列表,可以a[2:7],意思时从a[2]连续访问到a[6];
    也可以使用复数索引值来截取列表,eg.a[1:-2]从a[1]访问到a[-3]
    a[1:] 意味着从a[1]访问到最后

  2. 列表脚本操作符:

    • len(list) -> 列表长度
    • list=list1+list2 -> 列表组合(拼接)
    • print(list*2) -> 列表重复
      • eg.‘’‘list=[1,2,]
        print(list*2)’‘’ 结果[1,2,1,2]
    • 3 in [1, 2, 3] True 判断元素是否存在于列表中
    • for x in [1, 2, 3]: print(x, end=" ") 1 2 3 迭代
  3. 嵌套列表(形式有点像二维数组)
    ‘’‘a = [‘a’, ‘b’, ‘c’]
    n = [1, 2, 3]
    x = [a, n]
    print(x)
    [[‘a’, ‘b’, ‘c’], [1, 2, 3]]
    print( x[0])
    [‘a’, ‘b’, ‘c’]
    print(x[0][1])
    ‘b’’‘’

  4. 列表的比较:
    ‘’‘import operator
    b=[2,3]
    c=[2,3]
    print(operator.eq(b,c))’‘’
    True
    注意! 需要引入operator

  5. max(list)返回列表元素最大值
    min(list)返回列表元素最小值
    list.index(obj)从列表中找出某个值第一个匹配项的索引位置
    list.count(obj)统计某个元素obj在列表中出现的次数
    list.extend(seq)在列表末尾一次性追加另一个序列中的多个值 eg.list.extend([0,0,0]) 就相当于列表拼接
    list.clear() 清空列表

  6. 列表排序

  • list.sort()对列表永久排序,不可恢复,开头字母 大写>小写;数字012顺序排
  • sorted()对列表临时排序,eg.print(sorted(list))
  • 还可以按照相反顺序排,list.sort(reverse=Ture) sorted(list,reverse=True)
  • 倒着打印列表:list.reverse() (也是永久性的,但再来一次就恢复了)
    不能直接print(list.reverse()),这样结果是None,即reverse()的无返回值,所以倒着打印就要分两行
  1. 历遍列表’‘’
    a=[‘mom’,‘dad’,‘grandpa’,‘grandma’]
    for i in a:
    print(i)‘’’
    mom
    dad
    grandpa
    grandma
  2. 数值列表
  • for value in range(1, 5):
    print(value)
    结果1
    2
    3
    4
    不含5
    range(6)从0到5
  • 直接print(range(1,4)),结果就是range(1,4)
    想要创建数字列表,用list()函数,print(list(range(5))),结果就是[0,1,2,3,4]
  • python中表示乘方,将前10个整数的平方加入一个列表中:‘’’
    squares = []
    for value in range(1,11):
    squares.append(value
    2)
    print(squares)‘’’
  • max(list)返回列表元素最大值
    min(list)返回列表元素最小值
    sum(list)返回数字列表之和
  1. 列表解析:将for 循环和创建新元素的代码合并成一行,并自动附加新元素eg.squares = [value**2 for value in range(1, 11)]
    print(squares)
    注意! 这里for的末尾没有:
  2. 切片:处理列表的部分元素
    print(players[0,3])-> 打印该列表的一个切片 0,1,2
    a[:3]没有起始索引,从头开始 **冒号不能掉 **
    a[2:]没有结束索引,到最后
    要打印最后三个元素,a[-3:],即使列表长度改变,依然有效
    也可以指定第三个值a[1,4,2],即a[1],a[3]
  3. 复制列表:
  • 用切片,b=a[:],将一个列表的副本赋给另一个变量,从此之后对这两个列表的分别操作就没有关联了,个弄个的;
  • 也可以用b=a.copy(),和切片的效果一样
  • 若不用切片,b=a,是将a这个列表赋给b,而不是a的副本,之后对他们的分别操作是有联系的,二者始终相等

元组(tuple)


  1. 定义元组:元组看起来很像列表,但使用圆括号而非中括号来标识。定义元组后,就可使用索引来访问其元素,就像访问列表元素一样。
  2. 元组的各元素是不允许修改的,若试图修改则会报错
  3. 严格地说,元组是由逗号标识的,圆括号只是让元组看起来更整洁、更清晰。
  4. 若要定义只包含一个元素的元组,必须在这个元素后加上逗号eg.a=(‘love’,)
  5. 元组也可以用for循环历遍所有元素,用下标索引访问print ("tup2[1:5]: ", tup2[1:5])
  6. 虽然不能修改元组的元素,但可以重新定义整个元组
    元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
  7. 可以用list()将元组转化成列表
    eg.list1=list(a),这样可以对list1进行一系列操作
  8. 可以用tuple(list)将列表转成元组
  9. 元组也可以len(),连接,重复,判断,max(),min()

if语句


  1. 没有 ? : ,但是可以max=a if a>b else b
  2. if-elif-else
  3. 没有{},要用缩进来表示相同层次,也没有switch-case语句

循环语句


  1. while
  • while <>: 注意缩进
  • 也有while else语句
  1. for
  • for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
  • for循环的一般格式如下:
    for in :

    else:
  • 如果要遍历数字序列,使用range()
  • range(5)表示012345
  • range(5,9)表示5678《前闭后开
  • 也可以设置步长range(0,10,3)表示0369
  • 步长也可以是复数range(-10,-100,-30)
  • range()可以结合len()遍历一个序列的索引
    len()返回列表的长度
    ‘’'>>>a = [‘Google’, ‘Baidu’, ‘Runoob’, ‘Taobao’, ‘QQ’]

for i in range(len(a)):
… print(i, a[i])

0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ’‘’

  • 还可以使用range()函数来创建一个列表

list(range(5))
[0, 1, 2, 3, 4]

os模块


  1. 在一开始,import os
  2. os.name ,主要用于判断目前正在使用的平台,注意!!该命令不含括号
  3. os.getcwd() ,获取当前工作的目录,如:返回结果为:‘C:\Program Files\Python36’
  4. os.listdir(path) ,列出path目录下所有的文件和目录名 ,参数可省
  5. os.remove(path)——删除path指定的文件eg.os.remove(“aa.txt”)
  6. os.rmdir(path)——删除path指定的目录,仅当这个文件夹为空的时候才可以
  7. os.mkdir(path)——创建path指定的目录
    注意:这样只能建立一层,要想递归建立可用:os.makedirs()
  8. os.path.isfile(path)——判断指定对象是否为文件。是返回True,否则False
  9. os.path.isdir(path)——判断指定对象是否为目录。是True,否则False
  10. os.path.exists(path)——检验指定的对象是否存在。是True,否则False
  11. os.path.split(path)——返回路径的目录和文件名,即将目录和文件名分开,而不是一个整体。此处只是把前后两部分分开而已。就是找最后一个’/’
  12. os.system(cmd)——执行shell命令。返回值是脚本的退出状态码,0代表成功,1代表不成功
  13. os.chdir(path)——'change dir’改变目录到指定目录
  14. os.path.getsize()——获得文件的大小,如果为目录,返回0
  15. os.path.abspath()——获得绝对路径
  16. os.path.join(path, name)—连接目录和文件名,与os.path.split(path)相对
  17. os.path.basename(path)——返回文件名
  18. os.path.dirname(path)——返回文件路径

类和对象


  1. 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例
  2. 类定义:
    class classname:
    <statement -1>

    <statement -N>
  3. 类对象:
    • 可执行操作:属性引用,实例化;
    • 构造方法__init__(),该方法在类实例化时会自动调用
  4. self表示类的实例,而非类,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值