Datawhale-Python基础Task5

参考:https://blog.csdn.net/xyhlfwyhzy/article/details/88225731

类和对象

# 使用class关键字创建一个最简单的类
class Student:
	stuCount = 0 # 类变量 值会被所有实例共享
	def __init__(self, name, salary): # 初始化函数/构造函数 
	#self 代表类的实例,在定义类的方法时必须有,虽然在调用时不必传入相应的参数
	    self.name = name
	    self.age= age
	    Student.stuCount += 1
	def printInfo(self):  # 类方法
		print("Student Name:{}, Age:{}".format(self.name, self.age))

# 实例化对象		
stu = Student('Zyn', 20)
stu.printInfo() # =>Student Name:Zyn, Age:1

# 对象可以直接添加,删除,修改属性
stu.major = 'CS'
stu.age = 10
del stu.age

内置属性类

__dict__  # 类的属性(包含一个字典,由类的数据属性组成)
__doc__   # 类的文档字符串
__name__  # 类名
__module__# 类定义所在的模块
__bases__ # 类的所有父类构成元素(包含了一个由所有父类组成的元组)

继承

# 直接用了菜鸟的示例
class Parent:        # 定义父类
   parentAttr = 100
   def __init__(self):
      print("调用父类构造函数")
 
   def parentMethod(self):
      print ('调用父类方法')
 
   def setAttr(self, attr):
      Parent.parentAttr = attr
 
   def getAttr(self):
      print( "父类属性 :", Parent.parentAttr)
 
class Child(Parent): # 定义子类
   def __init__(self):
      print ("调用子类构造方法")
 
   def childMethod(self):
      print( '调用子类方法')
 
c = Child()          # 实例化子类
c.childMethod()      # 调用子类的方法
c.parentMethod()     # 调用父类方法
c.setAttr(200)       # 再次调用父类的方法 - 设置属性值
c.getAttr()          # 再次调用父类的方法 - 获取属性值

重写和重载

重写:子类继承父类后需要同名的不同功能的函数,即可重写同名方法
重载:函数或者方法有相同的名称,但是参数列表不相同(类型不同,数量不同,位置不同)。但是在Python的呈现使用中不存在重载的概念(*arg和**kwargs的存在)。

class Parent:        # 定义父类
   def myMethod(self):
      print '调用父类方法'

class Child(Parent): # 定义子类
   def myMethod(self):
      print '调用子类方法'

c = Child()          # 子类实例
c.myMethod()         # 子类调用重写方法

类的属性和方法

class Student(object):
    Bighome = '地球'            #类属性,相当于JAVA的静态属性,由实例共享
    
    def __init__(self, name): 
        self.name = name        #实例属性1,JAVA的动态属性,实例独有
        self._sex = sex             # 单下划线、保护
        self.__number = number      # 双下划线,提示是私有变量

s = Student('Bob')
s.score = 90                    #实例属性2,Python可以动态绑定

print(s.Bighome)                # 地球
print(Student.Bighome)          # 地球
# 实例属性 可以屏蔽 类属性
s.Bighome = '火星'
print(s.Bighome)                # 火星
print(Student.Bighome)          # 地球

正则表达式

Python中通过调用re这个模块实现正则表达功能。

一个练习正则的网站RegexGolf
网上大神给出的参考答案

re模块

# 从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话就返回none
re.match(pattern, string, flags=0) 
# pattern:匹配的正则表达式 string:要匹配的字符串 
# flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等

# 扫描整个字符串并返回第一个成功的匹配。
re.search(pattern, string, flags=0)

# 检索和替换
re.sub(pattern, repl, string, count=0, flags=0)

# 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表
findall(string[, pos[, endpos]])

# 按照能够匹配的子串将字符串分割后返回列表
re.split(pattern, string[, maxsplit=0, flags=0])

datetime模块学习

https://www.liaoxuefeng.com/wiki/1016959663602400/1017648783851616

http请求

import requests

# 发送get请求
url = 'https://www.csdn.net/'
requests = requests.get(url)
print(requests.content)  # 返回字节形式


# 发送post请求
url = 'https://xxxxx.com/login'
postdatas = {'key': 'value'}
requests = requests.post(url, data=postdatas)
print(requests.content)  # 返回字节形式

# put、delete、head、optiions请求
r = requests.put('https://www.csdn.net/put', data = {'key':'value'})
r = requests.delete('https://www.csdn.net/delete')
r = requests.head('https://www.csdn.net/get')
r = requests.options('https://www.csdn.net/get')

2、URL参数
URL 的查询字符串(query string)传递某种数据。如果你是手工构建 URL,那么数据会以键/值对的形式置于 URL 中,跟在一个问号的后面。例如,csdn.net/get?key=val。
requests 允许使用 params 关键字参数,以一个字符串字典来提供这些参数。
dic_param= {'key1': 'value1', 'key2': 'value2'}
r = requests.get("https://www.csdn.net/get", params=dic_param)
打印输出该 URL,能看到 URL 已被正确编码:
print(r.url) # =>https://www.csdn.net/get?key1=value1&key2=value2

https://blog.csdn.net/weixin_42734407/article/details/81162026
https://blog.csdn.net/lanyang123456/article/details/72594982
http://baijiahao.baidu.com/s?id=1599992188940440730&wfr=spider&for=pc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值