class_docstr: A row in Table.
  The fields in it can be accessed:
  
  * like attributes (``row.key``)
  * like dictionary values (``row[key]``)
  
  ``key in row`` will search through row keys.
  
  Row can be used to create a row object by using named arguments,
  the fields will be sorted by names. It is not allowed to omit
  a named argument to represent the value is None or missing. This should be
  explicitly set to None in this case.
  
  ::
  
      >>> row = Row(name="Alice", age=11)
      >>> row
      Row(age=11, name='Alice')
      >>> row['name'], row['age']
      ('Alice', 11)
      >>> row.name, row.age
      ('Alice', 11)
      >>> 'name' in row
      True
      >>> 'wrong_key' in row
      False
  
  Row can also be used to create another Row like class, then it
  could be used to create Row objects, such as
  
  ::
  
      >>> Person = Row("name", "age")
      >>> Person
      <Row(name, age)>
      >>> 'name' in Person
      True
      >>> 'wrong_key' in Person
      False
      >>> Person("Alice", 11)
      Row(name='Alice', age=11)
class_docstr_tok: ["A","row","in","Table",".","The","fields","in","it","can","be","accessed",":","*","like","attributes","(","``","row.key","``",")","*","like","dictionary","values","(","``","row","[","key","]","``",")","``","key","in","row","``","will","search","through","row","keys",".","Row","can","be","used","to","create","a","row","object","by","using","named","arguments",",","the","fields","will","be","sorted","by","names",".","It","is","not","allowed","to","omit","a","named","argument","to","represent","the","value","is","None","or","missing",".","This","should","be","explicitly","set","to","None","in","this","case",".",":",":",">",">",">","row","=","Row","(","name=","''","Alice","''",",","age=11",")",">",">",">","row","Row","(","age=11",",","name='Alice","'",")",">",">",">","row","[","'name","'","]",",","row","[","'age","'","]","(","'Alice","'",",","11",")",">",">",">","row.name",",","row.age","(","'Alice","'",",","11",")",">",">",">","'name","'","in","row","True",">",">",">","'wrong_key","'","in","row","False","Row","can","also","be","used","to","create","another","Row","like","class",",","then","it","could","be","used","to","create","Row","objects",",","such","as",":",":",">",">",">","Person","=","Row","(","``","name","''",",","``","age","''",")",">",">",">","Person","<","Row","(","name",",","age",")",">",">",">",">","'name","'","in","Person","True",">",">",">","'wrong_key","'","in","Person","False",">",">",">","Person","(","``","Alice","''",",","11",")","Row","(","name='Alice","'",",","age=11",")"]
code: def __setattr__(self, key, value):
      if (
          key != "_fields"
          and key != "_from_dict"
          and key != "_row_kind"
          and key != "_values"
      ):
          raise AttributeError(key)
      self.__dict__[key] = value
  
imports: from enum import Enum
  from typing import List
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 15 for calling the Row obj's underlying member method code with example usage: obj.__setattr__(key, value) without return types