code: def edit(self, name, description=github.GithubObject.NotSet, permission=github.GithubObject.NotSet, privacy=github.GithubObject.NotSet):
          
          assert isinstance(name, (str, unicode)), name
          assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description
          assert permission is github.GithubObject.NotSet or isinstance(permission, (str, unicode)), permission
          assert privacy is github.GithubObject.NotSet or isinstance(privacy, (str, unicode)), privacy
          post_parameters = {
              "name": name,
          }
          if description is not github.GithubObject.NotSet:
              post_parameters["description"] = description
          if permission is not github.GithubObject.NotSet:
              post_parameters["permission"] = permission
          if privacy is not github.GithubObject.NotSet:
              post_parameters["privacy"] = privacy
          headers, data = self._requester.requestJsonAndCheck(
              "PATCH",
              self.url,
              input=post_parameters
          )
          self._useAttributes(data)
docs: :calls: `PATCH /teams/:id <http://developer.github.com/v3/orgs/teams>`_
          :param name: string
          :param description: string
          :param permission: string
          :param privacy: string
          :rtype: None