python 基础学习

2020.5.15

  1. str内置函数
    1. find、lfind、rfind、index(如果找不到会报错)
    2. startswith、endswith、
    3. isupper、islower(汉字字符不属于大写,也不属于小写)
    4. format
    5. strip、lstrip、strip去掉字符串两端的空格
  2. list内的数据可以是多种数据类型,注意,1、["lixiang"]与list("lixiang")的结果是不一样的;2、切片操作:左包括,右不包括
    1. l=["123",1,{"1":2}]
      print(l)
      
      ['123', 1, {'1': 2}]
      
      s = "lixiang"
      print([s])
      ['lixiang']
      
      print(list(s))
      ['l', 'i', 'x', 'i', 'a', 'n', 'g']

       

  3. 模块的使用
    1. 语法:
      1. import module_name
      2. from fodule_name import function_name
  4. 命名空间和作用域
    1. Python 会智能地猜测一个变量是局部的还是全局的,它假设任何在函数内赋值的变量都是局部的。

      因此,如果要给函数内的全局变量赋值,必须使用 global 语句。

      #命名空间和作用域
      money = 100
      def addmoney():
          global money 
          money = money + 100
      print(money)
      addmoney()
      
      结果:
      100
      200

       

  5. 包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。
  6. file
    1. #由于文件读写时,有可能出现IOError,所以要用try,finally
      #write(),read() 方法默认是写入到当前 .py 同文件夹下面的,此外 w+ 的使用方法:不能直接 write() 后,在进行读取,这样试读不到数据的,因为数据对象到达的地方为文件最后,读取是向后读的,因此,会读到空白,应该先把文件对象移到文件首位
      try:
          f = open("forwrite.txt", "w+")
          f.write("hello,xuxu,I am mama")
          s = f.tell()
          f.seek(0,0)
          str = f.read()
          print(str)
      finally:    
          if f:
              f.close()

       

  7. #同时遍历多个列表zip
    1. l1 = ["name","age","question"]
      l2 = ["xuxu","3","how old are you "]
      for a,b in zip(l1,l2):
          print("what is your {0} ? It is {1}".format(a,b))

       

  8. 要按顺序遍历一个序列,使用set去重,使用 sorted() 函数返回一个已排序的序列,并不修改原值:
    1. l = [1,2,3,4,3,2,1,2,3]
      l2 = sorted(set(l))
      print(type(l2))
      print(l2)
      print(type(set(l)))
      
      <class 'list'>
      [1, 2, 3, 4]
      <class 'set'>

       

  9. 有两种方式输出一个平方与立方的表,字符串对象的 rjust() 方法, 它可以将字符串靠右, 并在左边填充空格;在 : 后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用。s
    1. for i in range(1,11):
          print('{0:2d}{1:3d}{2:4d}'.format(i,i**2,i**3))
      
      for i in range(1,11):
          print(repr(i).rjust(2),repr(i**2).rjust(3),repr(i**3).rjust(4))

       

  10. 线程、进程
    1. 多进程完成多任务,多进程实现多任务,进程与进程之间是相互独立的,是不共享全局变量的,需要复制一份代码,开销大
    2. 线程依赖进程,也可以一个进程里有多线程完成多任务,同一个进程里,线程之间是共享资源的,存在资源竞争,都想修改同一个变量,有线程安全问题
  11. python文件读写https://www.cnblogs.com/ymjyqsx/p/6554817.html
    1. with open('/path/to/file', 'r') as f:
          print(f.read())
    2. with open('/Users/michael/test.txt', 'w') as f:
          f.write('Hello, world!')
  12. 类:
    1. 在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。def speak(self):
    2. __name,像这种,以2个下划线开始的变量,为私有变量,只能在类内部访问,不能在类外边访问
  13. python进阶教程https://blog.csdn.net/wyBluewind/article/details/49386829

  14. Python继承:

    总是从某个类继承,如果没有合适的类,就需要从object类继承
    不要忘记调用super().__init__
      class Person(object):
        def __init__(self,name,gender):
            self.name=name
            self.gender=gender

    class Student(Person):
        def __init__(self,name,gender,score):
            super(Student,self).__init__(name,gender)
            self.score=score
     

  15. s.isdigit、isdecimal 和 s.isnumeric 区别

    isdigit()

    True: Unicode数字,byte数字(单字节),全角数字(双字节)

    False: 汉字数字,罗马数字,小数

    Error: 无

    isdecimal()

    True: Unicode数字,,全角数字(双字节)

    False: 罗马数字,汉字数字,小数

    Error: byte数字(单字节)

    isnumeric()

    True: Unicode 数字,全角数字(双字节),汉字数字

    False: 小数,罗马数字

    Error: byte数字(单字节)

    num = "1"  #unicode
    num.isdigit()   # True
    num.isdecimal() # True
    num.isnumeric() # True
    
    num = "1" # 全角
    num.isdigit()   # True
    num.isdecimal() # True
    num.isnumeric() # True
    
    num = b"1" # byte
    num.isdigit()   # True
    num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
    num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'
    
    num = "IV" # 罗马数字
    num.isdigit()   # False
    num.isdecimal() # False
    num.isnumeric() # False
    
    num = "四" # 汉字
    num.isdigit()   # False
    num.isdecimal() # False
    num.isnumeric() # True
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值