Thanks a lot. On Sunday, 22 July 2018 04:02:23 UTC+5:30, Rick Johnson wrote: > On Saturday, July 21, 2018 at 2:06:21 PM UTC-5, Sharan Basappa wrote: > > Is there a difference between functions and methods in Python. > > Generally speaking, functions and methods are basically two > words describing the exact same thing: "small packages of > reusable code". > > An easy way to think about it for the > uninitiated is that, functions came first, and methods are a > special kind of function which is owned by what we > programmers call "Objects". > > You can learn more about methods > and objects (and a wholelotta other stuff too) by reading > up on "Object Oriented Programming" (aka: OOP). There are > tons of tutorials and examples on the web. Ask Google. > > "What???" o_O > > "Can you repeat that?..." > > [listening carefully] > > "Her???" > > "No, not _her_!" > > "To your left a bit..." > > "..." > > "No, not _that_ left..." (/ロ°)/ > > "Your _other_ left!" \(°ロ\) > > "..." > > "Oh... for guido's sake, man..." (-‸ლ) > > "THE ONE WITH THE _PURPLE_ HAIR!!!" (屮゚Д゚)屮 > > "..." > > "BINGO!!!" :-) > > "Now, ask her..." > > > > [...] > > > > A related question. > > > > Refer to the following lines: > > 1) len(list) > > 2) list.append() > > > > The first line passes list to a len function while the > > second line calls append method in list. So, how to > > interpret this? In the first case, len is a function that > > python provides to which list can be passed and in the > > second case, append is a method within list class? > > > First, get yer terminology correct... > > list _object_. > > Not _class_. > > _Object_!!! > > "Class" refers to the syntactical representation of an OOP > _object_ -- aka: meaning that "class" is all the code > written to _define_ an object -- while _object_, refers to > the "live thing" that actually does stuff. For instance: in > the case of a python list _object_ (1) the _object_ acts as > a container for other "live objects", and (2) the _object_ > exposes an interface so we can call methods that perform > certain predefined tasks. > > > If my interpretation is correct, why not make len also as a > > part of list class itself? > > Simple Answer: because Python is not a _pure_ OOP language. > > Yes, python allows us to write code in the OOP paradigm (and > many others), but unlike languages such as, say, Ruby and > Java (which are pure OOP languages), python decided to go > down a different route. And there are good reasons to _not_ > be a pure OOP language, and of course, there are certain > "unintuitive seeming effects" because of that design choice. > And you've stumbled upon one here. > > Congrats! > > Once you familiarize yourself with Python's multi-paradigm > design, and you study more about OOP and experience the > onerous of purely OOP languages, you will understand why > python's designers decided to go this route. > > Until then, i'd worry about something more important. Like > actually mastering the language. And once you've mastered > the language, then you earn the right to sit around here all > day and complain about everything. Like any good Pythinistas > would do.
-- https://mail.python.org/mailman/listinfo/python-list