Assuming you mean 'computer memory' then all programming languages are memory based in so much as you need to use the computer's memory to store any data which a program you write will be working with. That might be using memory to store data which you read from the user, or maybe from a file, or perhaps some temporary calculated data, or you might write a program which remembers the last thing a user has clicked with their mouse, etc.
Of course, it is possible to write a program which doesn't use any memory, but that program probably wouldn't actually do anything useful.
As far as needing to 'memorise' programming concepts, programming itself really isn't knowledge-based, it's very much about understanding the thought processes you need for solving complex problems. It's not really very useful to try to memorise loads of things about a programming language for the simple reason that nearly anything you might forget for be unsure of is really easy to find on Google. Computer Science exams generally don't test your specific knowledge of a programming language, but they do test your understanding and computational thinking ability.
Other aspects of Computer Science are more knowledge-based (you will need to remember terminology and definitions for an exam, but this is true for nearly any subject). Otherwise the thing most people find difficult about CompSci tend to be around the analytical skills, computational thinking and problem solving.
Scratch is handy for getting the basics of computational thinking - a lot of the constructs you might be familiar with from Scratch will be represented in some form or another using Python. Obviously Scratch is visual, whereas Python (and most other programming languages) are text-based, however the overall structure of the text should feel somewhat familiar.
Scratch is fundamentally based around the same kind of computational thinking which sits behind all other programming languages like Python or Java. Computational thinking often boils down to 3 things - Simple Instructions, Conditional Branching and Iteration (looping). The difference with Python is that you need to understand the syntax (keywords, symbols, and the overall structure of that language), although you can get development tools such as
PyCharm which are helpful when writing code in as much as they provide all kinds of auto-checking and autocomplete features so that you don't need to remember so much of the syntax.
Have a look at these online lessons for a good introductory Python crash-course:
https://www.codecademy.com/learn/learn-python - by the end of these lessons you'll hopefully have a better idea whether or not it's something you might enjoy.