<commit_before>---
layout: post
title: "python mixins"
category: python
tags: [python, languages]
comments: true
---
{% include JB/setup %}
Sending this to my future self should be enough to prevent it from being a problem, right?  right?  right to left!  (major base class to the right)
  
<https://www.ianlewis.org/en/mixins-and-python>
  
well, and then there's javascript...(as usual, oh dear...)
  
<http://justinfagnani.com/2015/12/21/real-mixins-with-javascript-classes/>
  
maybe c++ is still best for this (since c# and java no dice)<commit_msg>blog content<commit_after>---
layout: post
title: "python mixins"
category: python
tags: [python, languages]
comments: true
---
{% include JB/setup %}
Sending this to my future self should be enough to prevent it from being a problem, right?  right?  right to left!  (major base class to the right)
  
<https://www.ianlewis.org/en/mixins-and-python>
  
well, and then there's javascript...(as usual, oh dear...)
  
<http://justinfagnani.com/2015/12/21/real-mixins-with-javascript-classes/>
  
maybe c++ is still best for this...  
the others are kindas?  
since java has default methods  
c# has extension methods  
ruby is a kinda (holy fun with self modifying code batman! remember, mixins are on instances, monkey patching is on classes))  

{'fraction_non_alphanumeric': 0.11710323574730354, 'fraction_numerical': 0.012326656394453005, 'mean_word_length': 3.740875912408759, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6940030', 'n_tokens_mistral': 427, 'n_tokens_neox': 400, 'n_words': 158}