The properties of an operator only exist for the duration of the operator being run. When placing a button in a panel you can include a single property value like this:
row.operator("my.operator").property = 271
When the operator is run by clicking the button it's property will be set to 271.
If you want to pass more than one argument assign the returned instance of OperatorProperties
to a variable and modify its attributes:
operator_props = row.operator("my.operator")
operator_props.prop_name1 = 42
operator_props.prop_name2 = "foo"
Another way to have more than one value available that can be set in a panel and used by an operator is to move them to a location that can be accessed by both the panel and the operator.
These could be global module variables that are defined in your script but outside both the panel and operator classes.
You could create a property for the Window Manager. Items stored in the ID dictionary of the Window Manager are not saved to the blend file. You might use a PropertyGroup to easily pack your properties.
bpy.types.WindowManager.my_operator_props = \
bpy.props.PropertyGroup(MyPropertyGroup)
bpy.context.window_manager.my_operator_props.prop = 42
The operator could retrieve these in its invoke method to initialize its own properties.
If you make your script an addon you could also create a bpy.types.AddonPreferences
subclass to hold your settings that can be adjusted in the preferences and also displayed in a panel for easier access.