James Powell: So you want to be a Python expert? | PyData Seattle 2017

Поделиться
HTML-код
  • Опубликовано: 20 дек 2024

Комментарии • 69

  • @gustavom8726
    @gustavom8726 2 года назад +165

    After almost 5 years, I keep coming back to this lecture for guidance. This is way better than any python course out there

    • @NOCTUMSEMPRA
      @NOCTUMSEMPRA 2 года назад +12

      His amount of knowledge, self-confidence and pedagogy explaining all kinds of concepts and scenarios is definitely worth of all my admiration as a developer. What a sublime guy he is.

    • @sebastianpaez6132
      @sebastianpaez6132 2 года назад +2

      It is not crazy for me to say that the first 20 minutes of this talk taught me more than every programming class I had before I saw this for the first time ...

    • @richienguyen2703
      @richienguyen2703 Год назад +1

      I think this lecture is truly one of the kind because you rarely see any python videos talking about these very niche Python concepts. Plus, his style of presentation is great.

    • @willd0g
      @willd0g 7 месяцев назад

      Same ; and im here to revisit his vim skills.

  • @ihgnmah
    @ihgnmah 3 года назад +58

    06:41 Data Model Protocol (Dunder Method)
    20:50 Meta Class
    47:22 Decorator
    01:06:32 Generator
    01:24:35 Context Manager
    01:37:52 Summary
    01:48:18 Q&A

  • @dmitriyobidin6049
    @dmitriyobidin6049 2 года назад +40

    If only every talk on every it conference was as interesting and useful as this one.

  • @ConsuelaPlaysRS
    @ConsuelaPlaysRS Год назад +5

    For the `__init_subclass__` definition at 46:51, you can do something like
    class Base:
    def foo(self):
    return self.bar()
    def __init_subclass__(cls) -> None:
    try:
    bar = getattr(cls, 'bar')
    if not callable(bar):
    raise TypeError("bad user class: 'bar' must be a callable method")
    except AttributeError:
    raise TypeError("bad user class: 'bar' method not found")

    • @omgwtfafterparty
      @omgwtfafterparty Год назад +1

      i think that currently to solve this kind of problems Id use ABC and abstractmethod decorator

  • @odanabunaga2505
    @odanabunaga2505 3 года назад +28

    James Powell for the President of Python please!

  • @111skal111
    @111skal111 7 месяцев назад +1

    I can't believe how good this instructor is. This is a terrific live demo training course.

  • @umairgillani699
    @umairgillani699 2 года назад +8

    This is one of the best live demo explanation of advance python concepts.. Really helpful stuff

  • @metecantimur9542
    @metecantimur9542 3 месяца назад

    @19:35, I think we can implement the __call__ function to return the value of the polynomial for value x.

  • @Rashmi-bs09
    @Rashmi-bs09 11 месяцев назад

    yes his talks are eye opener for me . I never Enjoyed a python like Truely entertaining and gem of knowledge here . Powerhouse I should say :) Thanks to @James Powell for keeping talks interesting and Curios it really keep our brains Busy and focused when you deliver talk like this .

  • @nikitasid4947
    @nikitasid4947 2 года назад +5

    Вот молодец, ничего не скажешь. Синтакс побоку, главное правильный взгляд на вещи.

  • @SpencerMckenithWilliams
    @SpencerMckenithWilliams 2 года назад +1

    references is the best here. I will always keep this as one of my best resources.

  • @utkucanaytac5417
    @utkucanaytac5417 2 года назад +1

    the best explanation of decorators i ve ever seen

  • @antonioarana8002
    @antonioarana8002 2 года назад +2

    Just what this incredible person says about the books in the beggining is exactly what all us feel like

  • @justtravelous9783
    @justtravelous9783 2 года назад +5

    great lecture and the approach to make the advanced topic so easy to understand.

  • @pythongabi
    @pythongabi 2 года назад +1

    1:25:00 The equivalence of context manager metaphore in Java is try with resources I think, and to use an object with tey-with-resources it should implement either the AutoClosable or Closable interfaces.

  • @kuyajj68
    @kuyajj68 Год назад

    Still the best advanced python talk.

  • @hEmZoRz
    @hEmZoRz 2 года назад +7

    Clear and well-executed lecture with illuminating examples, but I was still left with one big question - which is, how the hell do we have an access to this kind of stuff, free of charge.

  • @tarik-xx-tarik2342
    @tarik-xx-tarik2342 3 года назад +15

    What a great lecture

  • @sinanabavi3812
    @sinanabavi3812 2 года назад +1

    Actually, the code in 42:17 does not result in the desired behavior. Once we import Base in user.py, python finds no bar methods in the Base class and raises an error.

    • @Alexander-dj1jp
      @Alexander-dj1jp 2 года назад +1

      I solved it with: "if not "bar" in body and not "Base" in name:"

    • @Alexander-dj1jp
      @Alexander-dj1jp 2 года назад +1

      nvm he actually corrects it right after

  • @bensilburn
    @bensilburn 2 года назад +1

    Great presentation! Advanced techniques but explained very clearly - that guy is good :)

  • @arvindh4327
    @arvindh4327 2 года назад +1

    11:50 what's the behaviour of ❗mark does to the string?

    • @Pyroseza
      @Pyroseza 2 года назад +2

      it's format syntax for conversion and tells the interpreter to format the string using the repr function, check here for more info: docs.python.org/3/library/string.html#format-string-syntax

  • @meowsqueak
    @meowsqueak 2 года назад

    With the interleaving generator at 1:24:00, what does the client code actually look like?
    How does the user of this kind of generator function return control back to it, after the yields in-between first/second and second/third?
    Is this where next() and send() get used?
    Is there an idiomatic way to write the client side of a coroutine without next/send?

  • @huanxu5140
    @huanxu5140 2 года назад +3

    An update for Python 3.11 in 2022 would be awesome!

    • @Michallote
      @Michallote 9 месяцев назад

      Nothing of that has changed really

  • @okdokie278
    @okdokie278 2 года назад +3

    Where can we find more excellent lectures like this one??

  • @iamprageethanjula
    @iamprageethanjula 2 года назад +3

    I am a C++ dev, and seeing all the function details at runtime. WOW... I should move to python. LOL. Remember it has a cost associated with.

    • @riicky_bobby
      @riicky_bobby 2 года назад

      What’s the cost?

    • @Levy957
      @Levy957 2 года назад +2

      @@riicky_bobby speed

  • @Dipenparmar12
    @Dipenparmar12 25 дней назад

    Very good explanation

  • @amortalbeing
    @amortalbeing 2 года назад +1

    very well presented. really liked it thanks.

  • @sahasananth987
    @sahasananth987 Год назад

    In 9:15 How is he getting the comment to push the 2 as a superscript?

  • @visheshmangla8220
    @visheshmangla8220 13 часов назад

    This was the technique of tests in the language Eiffel, the hasattr foo thing

  • @ozlemelih
    @ozlemelih 3 года назад +3

    JPow uses python?

  • @meowsqueak
    @meowsqueak 2 года назад +4

    The degree of those polynomials is actually 2 :)

    • @nulencode7660
      @nulencode7660 11 месяцев назад +1

      He is obviously a Python expert but not a math expert.

  • @TankaNafaka
    @TankaNafaka Год назад

    all we need is generator, context manager and decorators 😊

  • @ArpitRawat
    @ArpitRawat 2 года назад

    @53:55 - THIS 🙌

  • @ZohanSyahFatomi
    @ZohanSyahFatomi 2 года назад +4

    first time i see, vim coding like this.

  • @jitendrak999
    @jitendrak999 Год назад

    Sir i want hanuman ji source code please give me

  • @shilinwang2958
    @shilinwang2958 2 года назад +1

    masterpiece

  • @jamespaz4333
    @jamespaz4333 2 года назад +2

    I wish I could have that coding power :)

    • @joelrodriguez1232
      @joelrodriguez1232 2 года назад +7

      Practice, practice, practice. That's what JPow would say.

  • @FAB199191
    @FAB199191 2 года назад +4

    ass time stamp 07:54

  • @makeshiftsavant
    @makeshiftsavant Год назад

    Reason why not to use vim - it took him 8:00 minutes to write the word "class"

  • @prcmmd
    @prcmmd 2 года назад +1

    a was very usefule

  • @z-f772
    @z-f772 7 месяцев назад

    7:54 muscle memory.

  • @merv893
    @merv893 Год назад +1

    Has anyone ever noticed that a lot of the best programmers are fairly rubbish at typing.

  • @AmrendraSanu
    @AmrendraSanu Месяц назад

    I must say, your Python audience isn't very engaged.

  • @anomad6314
    @anomad6314 2 года назад +5

    yeah... i'm not learning Python

    • @germ4613
      @germ4613 2 года назад +1

      What you meant to say is your not learning any coding or any programming language 🤣🤣🤣

    • @anomad6314
      @anomad6314 2 года назад

      @@germ4613 may learn SQL... less programming, more database search... i think

    • @germ4613
      @germ4613 2 года назад +1

      @@anomad6314 the problem is what jobs get you sql? Think about it. That's data analyst and scientist. They have to learn sql and python and excel.

    • @anomad6314
      @anomad6314 2 года назад

      @@germ4613 change management.... great if you know excel and SQL, but virtually none require python etc...

    • @germ4613
      @germ4613 2 года назад

      @@anomad6314 I'm looking at the list of all comptia certs and project+ seems like a business cert. I dont know how to describe it. Seems like a cert that can be used for many fields and companies. So why is it on a IT cert website?

  • @this-is-bioman
    @this-is-bioman Год назад +1

    A 2h presentation about solving problems that didn't even have to exist if python was strongly typed

    • @roar-with
      @roar-with 6 месяцев назад

      How strong typing would remove decorators, generators, overloading, etc? The only place it could do something - when he was talking about subclassing