Trying to figure out the data type from the code snippet

DL Neil PythonList at DancesWithMice.info
Thu Jan 31 17:54:59 EST 2019


On 1/02/19 9:00 AM, Chris Angelico wrote:
> On Fri, Feb 1, 2019 at 6:56 AM Chupo via Python-list
> <python-list at python.org> wrote:
>> In article <67d5c4bc-7212-43d0-b44f-7f22efffa17c at googlegroups.com>,
>> Rick Johnson <rantingrickjohnson at gmail.com> says...
>> <snip>

>> I was thought there aren't stupid questions, just stupid answers and I
>> for sure won't apologize for asking any question. If someone things the
>> question I asked is stupid they can ignore it. I am not affraid of
>> losing my reputation by asking a question.

> There are stupid questions, but I enjoy answering those too. You don't
...

(TLDR?: the are "stupid questions", here's why, and some ideas with 
which to frame/consider responses)


Many years ago, gulp, decades ago; when I first started-out in 
vocational training, I also thought 'there are no stupid questions, only 
stupid answers'. Possibly I was?am idealistic in other ways too.

Whilst this phrase 'sounds good', is it logical? It seems to assume that 
a questioner can never ask something in a stupid fashion, whilst at the 
same time assuming/insulting a respondent with the opposite assumption. 
(notwithstanding that it can be difficult to find the right words with 
which to phrase a question - particularly someone learning Python's 
concepts. Also, we should never forget that many 'here' are not 
communicating in their primary/home language - thank you for making that 
effort!)


Back when we rode dinosaurs to school, the maxim was "children should be 
seen and not heard". The teacher was 'the sage on the stage' and 
questions had to be invited/were not encouraged - talking to others was 
either "behind the teacher's back" or "cheating", and thus subject to 
discipline (yes, there was such a thing, once upon a time). Today, there 
is a more social approach to learning, where questions, of the teacher 
or of peers are encouraged - and if you'll permit me to disappear into 
cognitive psychology for a moment, it is a much more efficient way to 
learn! However, it also requires that whereas we didn't 'interfere' with 
others' learning by keeping silent, the members of such a 'modern' 
society find new levels of respect for each other, when it is (not) 
acceptable to do such things, etc, etc.

Contrarily, we also live in 'the Internet Age' which includes the rise 
of a sense (?right) of "immediacy". In short: we want it now! Sadly, 
this engenders an apparent motivation to rush 'in' (see also "panic"), 
rather than holding-fire and thinking first - or as the old dinosaur 
used to say "put brain into gear, before mouth into motion"!

I should also mention that the above is very much a description of how 
things are 'in the west' (ie 'western world', 'western culture'). 
Younger colleagues educated in India and China (per example only) tell 
me that their educational modus 'today' is much closer to my own 'back 
then'. Accordingly, until friendships are establish, preparedness to ask 
questions is low - is thought to reveal ignorance, even lack of respect 
of 'teacher'.


There are 'bad questions':

- someone unable to immediately solve a problem, turns to his 
colleague/this list and garbles:
	- there may be facts, but are they sufficient?
	- there is often no background to understand the motivation for the 
question
	- there is usually a component of 'how do I fix my solution' cf here is 
the (actual) problem to be solved

- laziness, ie asking someone else to exert effort to save self
	- eg no evidence of an attempted solution
	- no reference to web or book research

- learning avoidance (even 'destruction'):
	- see current conversation on list where student has clearly said that 
he is dealing with a teacher-directed assignment


So the definition of 'bad question' may boil-down to the motivation of 
the questioner being 'good' or 'bad', rather than the wording itself. 
Why are you asking this question?


Amusingly enough, that's amongst the training given to anyone learning 
training (if you follow): always try to (first) understand why the 
person is asking you this question, then try to answer in similar mode!

- a question asked on-impulse pretty much implies that a direct/complete 
answer will be taken similarly. In which case, it is extremely unlikely 
that the questioner will *learn* from the experience - thus will be 
forced to ask again 'next time'. "Give a man a fish and he eats today. 
Teach a man to fish and he eats every day!" (only an aphorism, sadly not 
literal fact!) Accordingly, 'answering' the original question with 
clarification questions is not a 'silly answer'. Indeed neuroscience 
shows that taking a break from a problem allows the brain to move 'the 
facts' from "working memory" into 'the back of my mind' and/or more 
permanent memory (ie learning); and possibly more important to 
problem-solving, from the logico-cortex into other parts of the brain 
where 'the facts' become associated with "prior knowledge" and other 
components of 'intelligence' may be brought to bear. How often have you 
taken a shower, gone out jogging, walked to the water cooler; and 
suddenly 'the answer' somehow magically presents itself in your mind! 
Accordingly, forcing our impulse-driven questioner to wait for his/her 
own brain to catch-up is also 'an answer'! (and how many times have you 
kindly responded to such a question only to have that person rudely 
retort that (s)he'd already solved the problem. (like you weren't 
fast-enough man!). Questioner motivation? Whither 'respect'?)

- lazy questioners make themselves quickly apparent. After a while 
colleagues/fellow list-members become irritated and ignore the person - 
a "time-sink" rather than a contributing member of society. (see various 
recent posts offering technical and social 'solutions' to this) 
Accordingly, answers designed to elicit evidence of 'prior work' might 
seem rude (what code do you have so far? what was the err.msg?), but are 
actually a form of polite response (and perhaps 'kinder' than 'blanking' 
his/her enquiry?)

- learning avoidance can be apparent in either or both the original 
question and replies to responses. Whilst RTFM may seem to be a rude 
response (on multiple levels), in fact it is in many ways the best thing 
to do. Perhaps it would be more constructive to point to particular 
pages within the (fine) manual, eg the ones specifically dealing with 
Python classes or introspection; or mention concepts which should be 
examined (see recent posts). However, once again, if the actual 
objective facing the questioner is that (s)he learn (perhaps the design 
behind the 'homework' assigned by a teacher!), then giving a 'perfect 
code' answer *appears* to solve the problem, but induces cognitive 
by-pass in the questioner. It only appears to be 'the right thing to do' 
and responds to the questioner's request that list-members extend 
"kindness" - 'the right thing to do' *socially*. However, from a 
learning/teaching point-of-view, having acquired only "an answer" (cf 
how to find the answer/arrive at a solution), the next time teacher 
assigns work, the same *low* level of question appears on the list... 
 From a training perspective, showing the student where 'the solution' 
may be found or ideas worthy of exploration, equips him/her with 
(learning that there is) a tool which can be applied to future problems 
(even many decades later! - please excuse the ageist, sardonic humor if 
not to your taste).


With reference to 'reputation': actually this is a 'big deal' in the 
modern world and social networking. Posts chasing "likes" is casual 
evidence of such. Employers reviewing potential employees by trawling 
social media certainly think so.

Do the list members have some sort of responsibility to become 
respondents to the questioner? In which case, what is the complementary 
responsibility - and how is it demonstrated? A questioner is free to say 
*whatever*, but surely every relationship requires some measure of respect?

When I first started training 'over the Internet' of great concern was 
moving from the (known) difficulties of relating to a few hundred 
students in a lecture, to the 'unknown' of how to help (tens of) 
thousands of trainees over discussion boards. Perhaps a background in 
'radio' helped (it becomes quite easy to recognise a person's voice, 
without actually 'hearing' the call-sign; and even at the 'low-level' of 
Morse code an individual's "fist" becomes readily recognisable). I soon 
discovered that 'personality' is revealed, even in such a text-only 
medium! Thus it became possible to 'tune' responses to the personality - 
knowing who to rebuff and where to best devote time...

Certainly, here on the list there are email addresses which stand-out, 
for one reason or another. The student who asks homework-questions, the 
person who is operating a some meta-level (way above mere Python 
syntax), etc. As advised by others, we read or delete, as we're wont...


Every now and again, someone asks what can be done to 'improve' the 
quality of questions being asked on the list. The different lists for 
different purposes are an attempt to reduce the reader's impression of 
'noise' - and you'll see this on the likes of StackOverflow when folk 
are directed to another board..

(IIRC) The Let's Encrypt people tried to tackle this problem by putting 
a template into each new question. The poster is prompted to enter 
identification data, eg OpSys, version numbers, whatever. I'm amazed 
(but again, I'm 'old' - in the eyes of some others) at how many posters 
ignore the template and blurt requirements in their own (selfish?) 
manner. Needless to say, that's sufficient indication for many to decide 
that it is indeed a "silly question", and hit DEL(ete). Certainly, when 
reading the question, if the answer first requires information that 
should have been included, per the template, the silliness of the 
question/the motivations of the questioner/the questioner's respect for 
list members' time, becomes starkly evident.

Sadly then, the 'solution' actually requires extra and pointless reading 
before the question is even posed!


Which brings us to another, perhaps idealistic, question: can we use 
technology to solve what is essentially a personal (the questioner, the 
respondent) or social problem?

-- 
Regards =dn



More information about the Python-list mailing list