Profile

Boribek Meiirzhan
Boribek Meiirzhan
2019-11-28 15:33:54
users = [] try: with open('users.txt', 'r') as f: users_data = f.read() except FileNotFoundError: os.system('touch users.txt') with open('users.txt', 'r') as f: users_data = f.read() finally: print("Users data loaded!\n", end='') with open('users.txt','w')as f: f.write('') print(users_data, end='') def check_user_info(users_data_list, user_name, user_password, user_role): info = f"{user_name} {user_password} {user_role}" return (info in users_data_list) users_dt_list = users_data.split('\n') print(check_user_info(users_dt_list, 'azatai3', 2019, 'superadmin')) def add_user_info(users_data_list, user_name, user_password, user_role): info = f"{user_name} {user_password} {user_role}" users_data_list.append(info) return users_data_list def check_info(user_data_list, user_name): for each in user_data_list: if user_name in each: return users_dt_list.index(each) else: return 100 def update_user_info(user_data_list, user_name, update_password, update_role): index = check_info(user_data_list, user_name) if index != 100: new_info = f"{user_name} {update_password} {update_role}" user_data_list[index] = new_info return user_data_list print('azatai' in 'azatai 2019 superadmin') dt_updated = update_user_info(users_dt_list, 'azatai', 'elel34', 'staff') with open('users.txt', 'a+') as f: for each in dt_updated: f.write(each)
Please sign up or sign in to like or write comments on this post.
Comments Favorite
Boribek Meiirzhan
2019-11-06 04:13:01
6.11.2019 time: 8:31 Python Inter 2 Сабақ барысы: 1) string 2) module 3) if and else 4) cycle 1) STRING def func(name): ''' бұл функция Hello AzatAI деген string-ді қайтару керек мұндағы name параметрі string типті болады, ол функциядағы сәлемдесетін параметр ретінде қолданады және функцияға параметр берсе де болады,бермеседе болады. return : string , return нені қайтару керектігін сұрайды, біздің жағдайда Hello AzatAI қайтару керек, name параметрімен қосып. ''' return "Hello, {}, Salem from AzatAI".format(name) print(func('Tracy')) 2) module module дегеніміз (.py) жалғауы арқылы құрылған файл десек те болады. Module бұл кластар,функциялар және басқа да кодтар жазылған файл. Менің ойымша Module-ді шпаргалка десек те болады. Онда керек кодтардың барлығы жазылған. Мodule-ді біз importtap шақыра аламыз. Module-дер саны көп. Соларға тоқталып өтсем: import os import subprocess import sys import math import time module-ді шақыру мысалы: import math print(math.pi) from math import pi print(pi) time moduli бұл компьютер пайда болған күннен бастап уақытты көрсетеді. Біз time modulein пайдаланып көрейік. import time print(time.time()) #print 9:41 1573011667.013267 start_time=time.time() for i in range(10000): i+=1 time.sleep(2) end_time=time.time() delta=end_time-start_time print(delta) бұл функцияда біз 0 ден 10000-ға дейінгі сандарды қосқанда қанша уақыт кететінін шығара аламыз. time.sleep арқылы компьютерді демалдырсақ болады. 3) if and else a=2 b=3 c=15 d=a if a>b else c print(d) бұл жерде a>b-дан үлкен болса а-ны шығар, болмаса c-ны шығар 4)CYCLE count = 0 while True: print('count',count) count+=1 if count ==10: break for i in range(0,10,2): print(count) #print 2 4 8 екінші циклде қадам санын сразу беріп кетеміз, яғни қадам саны 2 .
Please sign up or sign in to like or write comments on this post.
Comments Favorite
Boribek Meiirzhan
2019-11-05 10:51:17
BBP Part 1.2.0 – Number Systems, String Formatting Number Systems Let’s explore few different number systems that are in use today and see how with simple three rules, we can build any number system we want. For example, Base 10 (Decimal) — Represent any number using 10 digits [0–9] Base 2 (Binary) — Represent any number using 2 digits [0–1] Base 8 (Octal) — Represent any number using 8 digits [0–7] Base 16(Hexadecimal) — Represent any number using 10 digits and 6 characters [0–9, A, B, C, D, E, F] In any of the number systems mentioned above, zero is very important as a place-holding value. Take the number 1005. How do we write that number so that we know that there are no tens and hundreds in the number? We can’t write it as 15 because that’s a different number and how do we write a million (1,000,000) or a billion (1,000,000,000) without zeros? Do you realize it’s significance? First, we will see how the decimal number system is been built, and then we will use the same rules on the other number systems as well. So how do we build a number system? We all know how to write numbers up to 9, don’t we? What then? Well, it’s simple really. When you have used up all of your symbols, what you do is, you add another digit to the left and make the right digit 0. Then again go up to until you finish up all your symbols on the right side and when you hit the last symbol increase the digit on the left by 1. When you used up all the symbols on both the right and left digit, then make both of them 0 and add another 1 to the left and it goes on and on like that. If you use the above 3 rules on a decimal system, Write numbers 0–9. Once you reach 9, make rightmost digit 0 and add 1 to the left which means 10. Then on right digit, we go up until 9 and when we reach 19 we use 0 on the right digit and add 1 to the left, so we get 20. Likewise, when we reach 99, we use 0 s in both of these digits’ places and add 1 to the left which gives us 100. So you see when we have ten different symbols, when we add digits to the left side of a number, each position is going to worth 10 times more than it’s previous one. How to read numbers? Let’s take the same decimal number system. There are only two rules actually. You have a symbol to represent a quantity [0–9] Then the meaning of a digit based on its position — let’s get this clarified a bit. Let’s take one digit number ‘8’. This simply means 8, in other words, it is exactly what it says it represents. What about 24? In case of two digits, right digit says what it means, but left digit means ten times what it says. That is, 4 is 4, 2 is 20. Altogether forms 24. If we take a three digit number, rightmost digit means what it says, the middle one is ten times what it says, leftmost digit 100 times what it says. Simply if we take number 546, it means 6 + (10 * 4) + (5 * 100) = 546. Binary With binary, we have only two digits to represent a number, 0 and 1 and we are already out of symbols. So what do we do? Let’s apply the same rules that we used on the decimal system. Then we go up until we used up all our symbols on the right side.So the next number in line is 11. After ‘11’, we put 0s in both these places and add 1 to the left and we get 100. Then 101, 110, 111 then 1000 … This binary number system is based on two digits and each position is worth two times more than the previous position. Reading a binary number is almost same as reading a decimal. Right digit says what it means, next one means two times the previous one, after that 4 times etc… So 101 means 5 in decimal. These same rules apply to octal and hexadecimal number systems as well. With octal, we have only 8 digits to represent numbers so once we get to 7 the next number is 10 and in hexadecimal, we have 10 digits and 6 letters to represent numbers. In that case, when we reach 9 next number is represented in the letter ‘A’. Next one ‘B’. Likewise, we go up to letter ‘F’ and after ‘F’ comes ‘10’. Character Encoding As we have already said, a string is also a data type, but the string is more special with an encoding problem. Because computers can only process numbers, if you want to process text, you must first convert the text to a number to process. The earliest computer was designed with 8 bits as a byte, so the largest integer that a byte can represent is 255 (binary 11111111 = decimal 255). If you want to represent a larger integer, You must use more bytes. For example, the largest integer that two bytes can represent is 65535 , and the largest integer that 4 bytes can represent is 4294967295 . Since the computer was invented by the Americans, only 127 characters were encoded into the computer at the earliest, that is, uppercase and lowercase letters, numbers, and some symbols. This code table is called ASCII code. For example, the code of the uppercase letter A is 65 The code for the lowercase letter z is 122 . What you can think of is that there are hundreds of languages ​​in the world, Japan has compiled Japanese into Shift_JIS , and South Korea has compiled Korean into Euc-kr . Countries have national standards, and conflicts will inevitably occur. As a result, In multi-language mixed text, there will be garbled characters. “Encoding is such a bic*, better to be away” __ Thomas Elid. Therefore, Unicode came into being. Unicode unifies all languages ​​into a single set of code so that there are no more garbled problems. The Unicode standard is also evolving, but the most common is to represent one character in two bytes (if you want to use very remote characters, you need 4 bytes). Modern operating systems and most programming languages ​​directly support Unicode. Now, the difference between ASCII encoding and Unicode encoding: ASCII encoding is 1 byte, and Unicode encoding is usually 2 bytes. Therefore, Unicode came into being. Unicode unifies all languages ​​into a single set of code so that there are no more garbled problems. The Unicode standard is also evolving, but the most common is to represent one character in two bytes (if you want to use very remote characters, you need 4 bytes). Modern operating systems and most programming languages ​​directly support Unicode. Now, the difference between ASCII encoding and Unicode encoding: ASCII encoding is 1 byte, and Unicode encoding is usually 2 bytes. The letter A is encoded in ASCII with a decimal of 65 and a binary of 01000001 ; Character 0 is encoded in ASCII with 48 in decimal and 00110000 binary. Note that the character '0' and the integer 0 are different. You can guess that if you use Unicode encoding A in ASCII encoding, you only need to add 0 in front. Therefore, the Unicode encoding of A is 00000000 01000001 . The new problem has emerged: if unified into Unicode encoding, the garbled problem has since disappeared. However, if the text you write is basically all in English, using Unicode encoding requires twice as much storage space as ASCII encoding, which is not cost effective in storage and transmission. Therefore, in the spirit of saving, there has been a UTF-8 encoding that converts Unicode encoding into “variable length encoding.” UTF-8 encoding encodes a Unicode character into 1-6 bytes according to different digital sizes. Commonly used English letters are encoded into 1 byte. Chinese characters are usually 3 bytes. Only very uncommon characters will be encoded. Encoded into 4-6 bytes. If the text you want to transfer contains a large amount of English characters, you can save space with UTF-8 encoding: From the above table, we can also find that UTF-8 encoding has an additional advantage, that is, ASCII encoding can actually be regarded as part of UTF-8 encoding, so a large number of historical legacy software that only supports ASCII encoding can be used in UTF- Continue working under 8 codes. To figure out the relationship between ASCII, Unicode and UTF-8, we can summarize the working methods of character encoding that are common in computer systems: In computer memory, Unicode encoding is used uniformly, and when it needs to be saved to the hard disk or needs to be transferred, it is converted to UTF-8 encoding. In the next post , we will concentrate on another problem – Python string encoding and decoding, [email protected]! BBP Часть 1.2.0-системы счисления, форматирование строк Cистема счисления Давайте рассмотрим несколько различных систем счисления, которые используются сегодня, и посмотрим, как с помощью простых трех правил мы можем построить любую систему счисления, которую мы хотим. Например, Основание 10 (десятичное) - представляет любое число, используя 10 цифр [0-9] Основание 2 (двоичное) - представляет любое число, используя 2 цифры [0-1] Основание 8 (восьмеричное) - представляет любое число, используя 8 цифр [0-7] Основание 16 (шестнадцатеричное) - представляет любое число, используя 10 цифр и 6 символов [0-9, A, B, C, D, E, F] В любой из систем счисления, упомянутых выше, ноль очень важен как значение удержания места. Возьмите число 1005. Как написать это число, чтобы мы знали, что в нем нет десятков и сотен? Мы не можем записать его как 15, потому что это другое число, и как мы пишем миллион (1,000,000) или миллиард (1,000,000,000) без нулей? Ты понимаешь, что это важно? Сначала мы увидим, как была построена десятичная система счисления, а затем мы будем использовать те же правила и для других систем счисления. Так как же нам построить систему счисления? Мы все знаем, как писать числа до 9, не так ли? А что потом? Ну, это действительно просто. Когда вы израсходовали все свои символы, вы делаете следующее, вы добавляете еще одну цифру слева и делаете правую цифру 0. Затем снова поднимитесь до тех пор, пока вы не закончите все свои символы на правой стороне, и когда вы нажмете последний символ, увеличьте цифру слева на 1. Когда вы израсходовали все символы как на правой, так и на левой цифре, затем сделайте оба из них 0 и добавьте еще один 1 слева, и это будет продолжаться и продолжаться. Если вы используете вышеуказанные 3 правила в десятичной системе счисления, Напишите цифры 0-9. Как только вы достигнете 9, сделайте самую правую цифру 0 и добавьте 1 слева, что означает 10. Затем на правой цифре мы поднимаемся до 9, а когда мы достигаем 19, мы используем 0 на правой цифре и добавляем 1 к левой, поэтому мы получаем 20. Аналогично, когда мы достигаем 99, мы используем 0 s в обоих местах этих цифр и добавляем 1 слева, что дает нам 100. Итак, вы видите, когда у нас есть десять различных символов, когда мы добавляем цифры в левую часть числа, каждая позиция будет стоить в 10 раз больше, чем предыдущая Как читать цифры? Возьмем ту же десятичную систему счисления. На самом деле есть только два правила. У вас есть символ для представления количества [0-9] Тогда значение цифры зависит от ее положения-давайте немного проясним это. Возьмем однозначное число '8'. Это просто означает 8, другими словами, это именно то, что он говорит, что он представляет. А как насчет 24? В случае двух цифр, правая цифра говорит, что это значит, но левая цифра означает в десять раз больше, чем она говорит. То есть 4 - это 4, 2-это 20. Всего форм 24. Если мы возьмем трехзначное число, самая правая цифра означает то, что она говорит, средняя-в десять раз больше, чем она говорит, самая левая цифра-в 100 раз больше, чем она говорит. Просто если мы возьмем число 546, это означает 6 + (10 * 4) + (5 * 100) = 546. Двоичный С двоичным кодом у нас есть только две цифры для представления числа, 0 и 1, и у нас уже нет символов. Так что же нам делать? Давайте применим те же правила, которые мы использовали для десятичной системы счисления. Затем мы идем вверх, пока не израсходуем все наши символы справа side.So следующий номер в строке-11. После ‘11’ мы ставим 0 в обоих этих местах и добавляем 1 слева, и мы получаем 100. Потом 101, 110, 111, потом 1000 … Эта двоичная система счисления основана на двух цифрах, и каждая позиция стоит в два раза больше, чем предыдущая позиция. Чтение двоичного числа-это почти то же самое, что чтение десятичного. Правая цифра говорит, что это значит, следующий означает два раза предыдущий, после этого 4 раза и т. д… Так что 101-это 5 в десятичной. Эти же правила применимы и к восьмеричным и шестнадцатеричным системам счисления. С восьмеричным числом у нас есть только 8 цифр для представления чисел, поэтому, как только мы доберемся до 7, следующее число будет 10, а в шестнадцатеричном виде у нас есть 10 цифр и 6 букв для представления чисел. В том случае, когда мы достигнем 9, следующее число будет представлено в виде буквы "А". Следующая буква "Б". Аналогичным образом, поднимаемся на букву ‘F’ и после ‘Ф’ приходит ‘10’. кодировка символов Как мы уже говорили, строка также является типом данных, но строка является более Специальной с проблемой кодирования. Поскольку компьютеры могут обрабатывать только числа, если вы хотите обработать текст, вы должны сначала преобразовать текст в число для обработки. Самый ранний компьютер был спроектирован с 8 битами в качестве байта, поэтому самое большое целое число, которое может представлять байт, - это 255 (двоичный 11111111 = десятичный 255). Если вы хотите представить большее целое число, вы должны использовать больше байтов. Например, самое большое целое число, которое могут представлять два байта, - 65535, а самое большое целое число, которое могут представлять 4 байта, - 4294967295 . С тех пор как компьютер был изобретен американцами, в нем было закодировано всего 127 символов, то есть прописные и строчные буквы, цифры и некоторые символы. Эта таблица кодов называется кодом ASCII. Например, код прописной буквы A равен 65, код строчной буквы z равен 122 . Вы можете думать о том, что в мире есть сотни языков, Япония скомпилировала Японский в Shift_JIS, а Южная Корея скомпилировала Корейский в Euc-kr . Страны имеют национальные стандарты, и конфликты неизбежно будут возникать. В результате в многоязычном смешанном тексте будут искажены символы. "Кодирование-это такой bic*, лучше быть подальше" _ _ Томас Эли. Таким образом, Unicode появился на свет. Unicode объединяет все языки в единый набор кода, чтобы не было больше искаженных проблем. Стандарт Unicode также развивается, но наиболее распространенным является представление одного символа в двух байтах (если вы хотите использовать очень удаленные символы, вам нужно 4 байта). Современные операционные системы и большинство языков программирования напрямую поддерживают Unicode. Теперь разница между кодировкой ASCII и кодировкой Unicode: кодировка ASCII составляет 1 байт, а кодировка Unicode обычно составляет 2 байта. Таким образом, Unicode появился на свет. Unicode объединяет все языки в единый набор кода, чтобы не было больше искаженных проблем. Стандарт Unicode также развивается, но наиболее распространенным является представление одного символа в двух байтах (если вы хотите использовать очень удаленные символы, вам нужно 4 байта). Современные операционные системы и большинство языков программирования напрямую поддерживают Unicode. Теперь разница между кодировкой ASCII и кодировкой Unicode: кодировка ASCII составляет 1 байт, а кодировка Unicode обычно составляет 2 байта. Буква A кодируется в ASCII с десятичной дробью 65 и двоичным кодом 01000001 ; Символ 0 кодируется в ASCII с 48 в десятичном и 00110000 двоичном формате. Обратите внимание, что символ '0' и целое число 0 различны. Вы можете догадаться, что если вы используете кодировку Unicode a в кодировке ASCII, вам нужно только добавить 0 спереди. Таким образом, кодировка Unicode является 01000001 00000000 . Возникла новая проблема: если объединено в кодировку Unicode, искаженная проблема с тех пор исчезла. Однако, если текст, который вы пишете, в основном написан на английском языке, использование кодировки Unicode требует вдвое больше места для хранения, чем кодировка ASCII, что не является экономически эффективным при хранении и передаче. Поэтому в духе экономии существует кодировка UTF-8, которая преобразует кодировку Unicode в "кодировку переменной длины"."Кодировка UTF-8 кодирует символ Юникода в 1-6 байт в соответствии с различными цифровыми размерами. Обычно используемые английские буквы кодируются в 1 байт. Китайские иероглифы обычно составляют 3 байта. Только очень необычные символы будут закодированы. Кодируется в 4-6 байт. Если текст, который вы хотите передать, содержит большое количество английских символов, вы можете сэкономить место с помощью кодировки UTF-8: символ ASCII Unicode UTF-8 А 01000001 00000000 01000001 01000001 中 x 01001110 00101101 11100100 10111000 10101101 Из приведенной выше таблицы мы также можем обнаружить, что кодировка UTF-8 имеет дополнительное преимущество, то есть кодировка ASCII фактически может рассматриваться как часть кодировки UTF-8, поэтому в UTF - 8 может использоваться большое количество устаревших программ, которые поддерживают только кодировку ASCII. Чтобы выяснить отношения между ASCII, Unicode и UTF-8, мы можем суммировать рабочие методы кодирования символов, которые распространены в компьютерных системах: В памяти компьютера кодировка Unicode используется равномерно, и когда она должна быть сохранена на жестком диске или должна быть передана, она преобразуется в кодировку UTF-8. В следующем посте мы сосредоточимся на другой проблеме-кодировании и декодировании строк Python, наслаждайтесь@! BBP Part 1.2.0 нөмірлі жүйе, жолды форматтау Сандар жүйесі Бүгінгі күні қолданылатын бірнеше әртүрлі сандық жүйелерді қарастырайық және қарапайым үш ережені қолдана отырып, өзіміз қалаған кез-келген сандық жүйені қалай құруға болатынын көрейік. Мысалы 10-база (ондық бөлшек) - 10 саннан тұратын кез келген санды білдіреді [0-9] 2-негіз (екілік) - 2 санды қолданатын кез келген санды білдіреді [0-1] 8-негіз (сегіздік) - 8 саннан тұратын кез-келген санды білдіреді [0-7] 16-база (он алтылық) - 10 саннан және 6 таңбадан тұратын кез келген санды білдіреді [0-9, A, B, C, D, E, F]. Жоғарыда аталған сандық жүйелердің кез-келгенінде нөл өте маңызды, өйткені орындықты сақтау мәні. 100 санын алыңыз. Онда жүздегендер болмайтынын білу үшін бұл санды қалай жазуға болады? Біз оны 15 деп жаза алмаймыз, өйткені бұл басқа сан, және біз нөл (миллион) немесе миллиард (1 000 000 000) нөлдерсіз қалай жазамыз? Сіз бұл маңызды екенін түсінесіз бе? Алдымен біз ондық сандық жүйенің қалай құрылғанын көреміз, содан кейін басқа сандық жүйелер үшін бірдей ережелерді қолданамыз. Сонымен біз сандық жүйені қалай құрамыз? 9-ға дейінгі сандарды қалай жазуды бәріміз білеміз, иә? Сонда не? Ал, бұл өте оңай. Сіз өзіңіздің барлық символдарыңызды қолданғаннан кейін келесі әрекеттерді орындайсыз: сол жаққа тағы бір сан қосып, оң санды 0 жасайсыз. Одан кейін барлық таңбаларыңызды оң жақта аяқтағанша қайтадан көтеріліп, соңғы таңбаны басқан кезде сол жақтағы сандарды 1-ге көбейтіңіз. Оң және сол сандардағы барлық таңбаларды қолданғаннан кейін, олардың екеуін де 0 етіп жасаңыз да, сол жақта тағы біреуін қосыңыз, сонда ол жалғасады. Егер сіз жоғарыда аталған 3 ережені ондық белгілеуде қолдансаңыз, 0-9 сандарын жаз. 9-ға жеткенде, 0-дің оң жағына цифр қойып, солға 1 санын қосыңыз, бұл 10 дегенді білдіреді. Содан кейін оң саннан біз 9-ға жетеміз, ал 19-ға жеткенде, оң саннан 0-ді пайдаланып, солға 1-ді қосамыз, осылайша 20-ны аламыз. Сол сияқты, 99-ға жеткенде, біз осы сандардың екі жерінде де 0 с-ті қолданамыз және сол жаққа 1 санын қосамыз, бұл бізге 100-ді береді. Көрдіңіз бе, бізде он түрлі таңба болған кезде, санның сол жағына сандарды қосқанда, әр позиция алдыңғыға қарағанда 10 есе қымбат тұрады. Сандарды қалай оқуға болады? Бірдей ондық сандар жүйесін қабылдаңыз. Шындығында, екі ереже бар. Сізде санды білдіретін таңба бар [0-9] Сонда санның мағынасы оның орнына байланысты - мұны біраз түсіндіріп алайық. '8' бір цифрын алыңыз. Бұл жай 8 дегенді білдіреді, басқаша айтқанда, ол дәл сол туралы айтады. 24 ше? Екі сан болған жағдайда оң сан нені білдіреді, ал сол сан айтылғаннан он есе көп. Яғни, 4 - 4, 2 - 20. Барлығы 24 форма бар. Егер біз үш таңбалы санды алсақ, онда ең оң жақ сан оның айтқанын білдіреді, орташа оның айтқанынан он есе үлкен, сол жақ сан ол айтқанынан 100 есе үлкен. 546 санын алсақ, бұл 6 + (10 * 4) + (5 * 100) = 546 дегенді білдіреді. Екілік Екілік жүйеде біз 0 мен 1 санын білдіретін екі цифр бар, енді бізде таңбалар болмайды. Сонымен не істейміз? Ондықтар жүйесі үшін қолданған ережелерімізді қолданайық. Содан кейін біз барлық таңбаларымызды оң жағында қолданғанша жүреміз. Сонымен қатардағы келесі нөмір - 11. «11» -ден кейін біз осы екі орынға да 0 қойып, сол жақта 1-ге қосамыз, ал 100-ге жетеміз. Содан кейін 101, 110, 111, содан кейін 1000 ... Бұл екілік сандар жүйесі екі санға негізделген және әр позиция алдыңғы позициядан екі есе көп тұрады. Екілік санды оқу ондық бөлімді оқумен бірдей. Оң сан нені білдіреді, келесі сан алдыңғы саннан екі есе, содан кейін 4 рет т.б. Сонымен 101 ондықтың 5-ке тең. Дәл осындай ережелер сегіздік және оналтылық белгілерге қолданылады. Сегіз санмен бізде цифрларды білдіретін 8 цифр бар, сондықтан 7-ге жеткенде келесі сан 10 болады, ал он алтылықта 10 цифр және цифрларды білдіретін 6 әріп болады. 9-ға жеткен жағдайда келесі нөмір «А» әрпі түрінде ұсынылады. Келесі әріп - «В». Сол сияқты, біз 'F' әрпіне көшеміз және 'F' '10' болғаннан кейін. таңбаны кодтау Жоғарыда айтқанымыздай, жол - бұл мәліметтер типі, бірақ жол кодтау мәселесімен ерекше. Компьютерлер тек сандарды өңдей алатындықтан, мәтінді өңдегіңіз келсе, алдымен мәтінді өңдеуге арналған санға түрлендіруіңіз керек. Ең алғашқы компьютер 8 биттен тұратын байт түрінде жасалған, сондықтан ең үлкен бүтін сан - 255 (екілік 11111111 = ондықтар 255). Егер үлкенірек бүтін санды көрсеткіңіз келсе, байтты көбірек пайдалану керек. Мысалы, екі байт ұсынатын ең үлкен бүтін сан - 65535, ал төрт байт ұсынатын ең үлкен бүтін сан - 4294967295. Компьютерді американдықтар ойлап тапқандықтан, онда тек 127 таңба, яғни үлкен және кіші әріптер, сандар және кейбір таңбалар кодталған. Бұл кодтар кестесі ASCII коды деп аталады. Мысалы, бас әріптің коды - 65, кіші әріптің коды - 122. Сіз әлемдегі жүздеген тілдер туралы ойлана аласыз, Жапония Shift_JIS тілінде жапон тілінде, Оңтүстік Корея Кореяда Евк-крде құрастырған. Елдер ұлттық стандарттарға ие, сондықтан даулар сөзсіз пайда болады. Нәтижесінде таңбалар көп тілді аралас мәтінде бұрмалануы мүмкін. «Кодтау - бұл өте жақсы *, алыс болған жақсы» _ _ Томас Эли. Осылайша, Юникод дүниеге келді. Юникод барлық тілдерді бірыңғай код жиынтығына біріктіреді, сондықтан бұрмаланған проблемалар болмауы керек. Юникод стандарты да дамуда, бірақ ең көп таралғаны - бір таңбаның екі байтта бейнеленуі (егер сіз өте қашықтағы таңбаларды пайдаланғыңыз келсе, сізге 4 байт қажет). Қазіргі операциялық жүйелер және көптеген бағдарламалау тілдері Юникодты тікелей қолдайды. Енді ASCII кодтау мен Юникод кодтауының арасындағы айырмашылық: ASCII кодтау - 1 байт, ал Юникодты кодтау - әдетте 2 байт. Осылайша, Юникод дүниеге келді. Юникод барлық тілдерді бірыңғай код жиынтығына біріктіреді, сондықтан бұрмаланған проблемалар болмауы керек. Юникод стандарты да дамуда, бірақ ең көп таралғаны - бір таңбаның екі байтта бейнеленуі (егер сіз өте қашықтағы таңбаларды пайдаланғыңыз келсе, сізге 4 байт қажет). Қазіргі операциялық жүйелер және көптеген бағдарламалау тілдері Юникодты тікелей қолдайды. Енді ASCII кодтау мен Юникод кодтауының арасындағы айырмашылық: ASCII кодтау - 1 байт, ал Юникодты кодтау - әдетте 2 байт. А әрпі ASCII-де 65 ондығымен және 01000001 нөмірінің екілік кодымен кодталған; 0-таңба ASCII-мен 48 ондық және 00110000 екілік кодталған. «0» таңбасы мен 0 бүтін санының әр түрлі екенін ескеріңіз. Егер сіз A Юникодты ASCII кодтауда қолдансаңыз, оның алдында тек 0 санын қосу керек деп болжай аласыз. Сондықтан Юникодты кодтау 01000001 00000000. Жаңа мәселе пайда болды: егер Юникод кодтауымен біріктірілсе, бұрмаланған мәселе содан бері жоғалып кетті. Алайда, егер сіз жазған мәтін негізінен ағылшын тілінде жазылса, Юникодты пайдалану ASCII-ге қарағанда екі есе көп сақтау орнын қажет етеді, бұл сақтау мен беру үшін үнемді емес. Сондықтан, экономика рухында Юникодты «өзгермелі ұзындыққа» айналдыратын UTF-8 шифрі бар. «UTF-8 шифрлау әртүрлі сандық өлшемдерге сәйкес 1-6 байтқа Юникод таңбасын кодтайды.Қазақ тілінде жиі қолданылатын ағылшын әріптері 1 байтпен кодталады. Әдетте қытай таңбалары 3 байттан тұрады, тек ерекше таңбалар кодталады, 4-6 байтпен кодталады, егер сіз жібергіңіз келетін мәтінде көптеген ағылшын таңбалары болса, UTF-8 шифрлау арқылы кеңістікті үнемдеуге болады: ASCII Юникод таңбасы UTF-8 A 01000001 00000000 01000001 01000001 中 x 01001110 00101101 11100100 10111000 10101101 Жоғарыда келтірілген кестеден UTF-8 шифрлаудың қосымша артықшылығы бар екенін байқаймыз, яғни ASCII кодтауды UTF-8 кодтау бөлігі ретінде қарастыруға болады, сондықтан UTF-8-де тек ASCII кодтауды қолдайтын ескірген бағдарламаларды қолдануға болады. ASCII, Unicode және UTF-8 арасындағы байланысты білу үшін компьютерлік жүйелерде жиі кездесетін жұмыс таңбаларын кодтау әдістерін жинақтай аламыз: Юникодты кодтау компьютердің жадында біркелкі қолданылады және оны қатты дискіде сақтау немесе беру керек болған кезде UTF-8 кодтауға ауыстырылады. Келесі жазбада біз Python жолдарын кодтау мен декодтаудың басқа мәселелеріне назар аударамыз, @ ләззат алыңыз!
Please sign up or sign in to like or write comments on this post.
Comments Favorite
Boribek Meiirzhan
2019-11-03 13:10:15
BBP Part 1.1 – Introduction To TCP/IP Although everyone is familiar with the Internet now, the emergence of computer networks is much earlier than the Internet. In order to connect to the Internet, computers must stipulate communication protocols. In the early days of computer networks, each vendor specified a set of protocols. IBM, Apple, and Microsoft all had their own network protocols, which were incompatible with each other. This is like a group of people saying that English, some speak Chinese, some speak German, people who speak the same language can communicate, and different languages can’t. In order to connect all the different types of computers around the world, a set of global protocols must be defined. In order to achieve this goal, the Internet Protocol Suite (IPS) is a common protocol standard. The Internet is a combination of two words, inter and net. With the Internet, any private network can connect to the Internet as long as it supports this protocol. Because the Internet Protocol contains hundreds of protocol standards, the two most important ones are TCP and IP protocols. Therefore, the Internet protocol is referred to as the TCP/IP protocol. When communicating, both parties must know each other’s identity, just like sending an email must know the other party’s email address. The unique identifier for each computer on the Internet is the IP address, similar to 123.123.123.123 . If a computer accesses two or more networks at the same time, such as a router, it will have two or more IP addresses. Therefore, the IP address corresponds to the computer’s network interface, usually a network card. The IP protocol is responsible for sending data from one computer to another via the network. The data is divided into small pieces and then sent out through IP packets. Due to the complexity of the Internet link, there are often multiple lines between the two computers, so the router is responsible for deciding how to forward an IP packet. The characteristics of an IP packet are that it is sent in blocks, routed with multiple routes , but it is not guaranteed to arrive, nor is it guaranteed to arrive in sequence The IP address is actually a 32-bit integer (called IPv4). The IP address represented by a string such as 192.168.0.1 actually a digital representation of a 32-bit integer grouped by 8 bits for the purpose of reading. The IPv6 address is actually a 128-bit integer, which is an upgraded version of IPv4 currently in use, represented by a string similar to 2001:0db8:85a3:0042:1000:8a2e:0370:7334 . The TCP(Transmission Control Protocol) protocol is built on top of the IP protocol. The TCP protocol is responsible for establishing a reliable connection between the two computers to ensure that the packets arrive in order. The TCP protocol establishes a connection by handshake, and then numbers each IP packet to ensure that the other party receives it in order. If the packet is lost, it is automatically resent. Many commonly used higher-level protocols are based on the TCP protocol, such as the HTTP protocol for browsers, the SMTP protocol for sending mail, and so on. In addition to the data to be transmitted, a TCP packet contains the source IP address and the destination IP address, the source port and the destination port. What is the role of the port? When communicating between two computers, it is not enough to send only the IP address because there are multiple network programs running on the same computer. After a TCP message arrives, whether it is handed to the browser or Telegram, the port number is required to distinguish. Each network program requests a unique port number from the operating system, so that two processes need their respective IP addresses and their respective port numbers to establish a network connection between the two computers. A process can also establish links with multiple computers at the same time, so it will apply for many ports. Understand the basic concepts of TCP/IP, the concept of IP address and port, we can start network programming. BBP часть 1.1-введение в TCP / IP Хотя сейчас все знакомы с Интернетом, появление компьютерных сетей происходит гораздо раньше, чем интернет. Для того, чтобы подключиться к интернету, компьютеры должны предусматривать протоколы связи. В первые дни существования компьютерных сетей каждый поставщик определял набор протоколов. IBM, Apple и Microsoft имели свои собственные сетевые протоколы, которые были несовместимы друг с другом. Это похоже на группу людей, которые говорят, что английский, некоторые говорят по-китайски, некоторые говорят по-немецки, люди, которые говорят на одном языке, могут общаться, а разные языки не могут. Для подключения всех различных типов компьютеров по всему миру необходимо определить набор глобальных протоколов. Для достижения этой цели пакет протоколов интернета (IPS) является общим стандартом протокола. Интернет-это сочетание двух слов, Интер и сеть. С помощью интернета любая частная сеть может подключаться к Интернету, если она поддерживает этот протокол. Поскольку Протокол Интернета содержит сотни стандартов протоколов, наиболее важными из них являются протоколы TCP и IP. Поэтому Протокол Интернета называется протоколом TCP/IP. При общении, обе стороны должны знать личность друг друга, так же, как отправка электронной почты должна знать адрес электронной почты другой стороны. Уникальным идентификатором для каждого компьютера в Интернете является IP-адрес, аналогичный 123.123.123.123 . Если компьютер обращается к двум или более сетям одновременно, например к маршрутизатору, он будет иметь два или более IP-адресов. Таким образом, IP-адрес соответствует сетевому интерфейсу компьютера, обычно сетевой карте. Протокол IP отвечает за передачу данных с одного компьютера на другой по сети. Данные разделяются на небольшие фрагменты и затем отправляются через IP-пакеты. Из-за сложности интернет-соединения между двумя компьютерами часто существует несколько линий, поэтому маршрутизатор отвечает за решение о том, как пересылать IP-пакет. Характеристики IP-пакета заключаются в том, что он отправляется блоками, маршрутизируется несколькими маршрутами , но не гарантируется, что он прибудет, и не гарантируется, что он прибудет последовательно IP-адрес фактически является 32-разрядным целым числом (называемым IPv4). IP-адрес, представленный строкой, такой как 192.168.0.1, фактически представляет собой цифровое представление 32-разрядного целого числа, сгруппированного по 8 битам с целью чтения. IPv6-адрес фактически является 128-битным целым числом, которое является обновленной версией IPv4, используемой в настоящее время, представленной строкой, подобной 2001:0db8:85a3:0042:1000:8a2e:0370:7334 . Протокол TCP (Transmission Control Protocol) построен поверх протокола IP. Протокол TCP отвечает за установление надежного соединения между двумя компьютерами, чтобы гарантировать, что пакеты поступают в порядке. Протокол TCP устанавливает соединение путем квитирования, а затем нумерует каждый IP-пакет, чтобы гарантировать, что другая сторона получает его по порядку. Если пакет потерян, он автоматически возвращается. Многие часто используемые протоколы более высокого уровня основаны на протоколе TCP, например протокол HTTP для браузеров, протокол SMTP для отправки почты и так далее. В дополнение к передаваемым данным пакет TCP содержит исходный IP-адрес и IP-адрес назначения, исходный порт и порт назначения. Какова роль порта? При обмене данными между двумя компьютерами недостаточно отправить только IP-адрес, поскольку на одном компьютере запущено несколько сетевых программ. После того, как сообщение TCP поступает, независимо от того, передается ли оно браузеру или телеграмме, требуется номер порта для различения. Каждая сетевая программа запрашивает уникальный номер порта от операционной системы, так что два процесса должны иметь свои соответствующие IP-адреса и свои соответствующие номера портов для установления сетевого соединения между двумя компьютерами. Процесс также может устанавливать связи с несколькими компьютерами одновременно, поэтому он будет применяться для многих портов. Понять основные понятия TCP / IP, понятие IP-адреса и порта, мы можем начать Сетевое программирование. BBP Бөлім 1.1 - TCP / IP-ге кіріспе Қазір бәрі Интернетті білсе де, компьютерлік желілердің пайда болуы Интернеттен әлдеқайда ертерек кездеседі. Интернетке қосылу үшін компьютерлер байланыс хаттамаларын ұсынуы керек. Компьютерлік желілердің алғашқы күндерінде әр сатушы бірнеше хаттамаларды анықтады. IBM, Apple және Microsoft әрқайсысында бір-біріне сәйкес келмейтін өздерінің желілік хаттамалары болды. Бұл ағылшын, кейбіреулері қытай, біреуі неміс, бір тілде сөйлейтін адамдар сөйлесе алады, ал түрлі тілдерде сөйлей алмайтын адамдар сияқты. Бүкіл әлемдегі компьютерлердің барлық түрлерін қосу үшін ғаламдық хаттамалардың жиынтығын анықтау керек. Бұған қол жеткізу үшін Internet Protocol Suite (IPS) - бұл жалпы протокол стандарты. Интернет дегеніміз - екі сөздің, Inter және желі. Интернетті қолдана отырып, кез-келген жеке желі осы протоколды қолдайтын болса, Интернетке қосыла алады. Интернет-протоколда жүздеген протокол стандарттары болғандықтан, олардың ең маңыздылары TCP және IP болып табылады. Сондықтан Интернет протоколы TCP / IP протоколы деп аталады. Хабарласқан кезде екі тарап бір-бірінің жеке басын білуі керек, өйткені электрондық поштаны жіберу екіншісінің электрондық пошта мекенжайын білуі керек. Интернеттегі әр компьютерге арналған бірегей идентификатор 123.123.123.123-ке ұқсас IP-адрес болып табылады. Егер компьютер бір уақытта екі немесе одан да көп желіге, мысалы, маршрутизаторға қатынаса, онда екі немесе одан да көп IP мекен-жайы болады. Осылайша, IP мекен-жайы компьютердің желілік интерфейсіне сәйкес келеді, әдетте желілік карта. IP желі арқылы бір компьютерден екінші компьютерге деректерді тасымалдауға жауап береді. Деректер кішкене фрагменттерге бөлінеді, содан кейін IP пакеттері арқылы жіберіледі. Екі компьютер арасындағы Интернет байланысының күрделілігіне байланысты көбінесе бірнеше жолдар болады, сондықтан маршрутизатор IP пакетін қалай жіберуді шешуге жауапты болады. IP пакеттің сипаттамасы блоктарда жіберіліп, бірнеше бағыттар бойынша жіберіледі, бірақ оның келуіне кепілдік берілмейді және оның жүйелі түрде келуіне кепілдік берілмейді IP мекенжайы - бұл 32 биттік бүтін сан (IPv4 деп аталады). 192.168.0.1 сияқты жолмен ұсынылған IP мекен-жайы, оқу үшін 8 битке топтастырылған 32 биттік бүтін санның сандық бейнесі болып табылады. IPv6 мекенжайы іс жүзінде 128 биттік бүтін сан болып табылады, ол қазіргі уақытта қолданыстағы IPv4 жаңартылған нұсқасы болып табылады, 2001 жылға ұқсас жолмен ұсынылған: 0db8: 85a3: 0042: 1000: 8a2e: 0370: 7334. TCP (Transmission Control Protocol) IP-нің үстіне салынған. TCP пакеттердің келуін қамтамасыз ету үшін екі компьютер арасында сенімді байланыс орнатуға жауап береді. TCP тану арқылы байланыс орнатады, содан кейін екінші IP-пакеттің нөмірін алады, екінші жақтың оны алу үшін. Егер пакет жоғалса, ол автоматты түрде қайтарылады. Көптеген жиі қолданылатын жоғары деңгейлі протоколдар TCP-ге негізделген, мысалы, шолушыларға арналған HTTP, поштаны жіберуге арналған SMTP және т.б. Берілген мәліметтерге қосымша, TCP пакетінде бастапқы IP мекен-жайы және тағайындалған IP мекен-жайы, бастапқы порт және тағайындалған порт болады. Порттың рөлі қандай? Екі компьютер арасында мәліметтер алмасу кезінде тек IP мекенжайын жіберу жеткіліксіз, өйткені бірнеше компьютерлік бағдарламалар бір компьютерде жұмыс істейді. TCP хабарламасы келгеннен кейін, ол браузерге немесе телеграммаға жіберілгеніне қарамастан, айыру үшін порт нөмірі қажет. Әрбір желілік бағдарлама амалдық жүйеден бірегей порт нөмірін сұрайды, сондықтан екі компьютердің арасында желілік байланыс орнату үшін екі процестің тиісті IP мекен-жайы және сәйкес порт нөмірлері болуы керек. Процесс сонымен бірге бір уақытта бірнеше компьютермен байланыс орната алады, сондықтан ол көптеген порттарға қолданылады. TCP / IP, IP мекенжайы мен порт түсінігі туралы негізгі түсініктерді түсіну арқылы біз Желілік бағдарламалауды бастай аламыз. 😉
Please sign up or sign in to like or write comments on this post.
Comments Favorite
Boribek Meiirzhan
2019-11-03 12:55:55
BBP Part 1.0 - Network Programming Since the birth of the Internet, basically all programs are now web applications, and there are very few stand-alone programs. A computer network connects computers together so that computers on the network can communicate with each other. Network programming is how to communicate between two computers in a program. For example, when you use a browser to access Azat.AI your computer is connected to a server of AzatAI via the Internet. Then, the server of AzatAI transmits the content of the webpage as data to your computer via the Internet. Since there may be more than just a browser on your computer, there are Facebook, Skype, Dropbox, mail client, etc. The other computers connected by different programs will be different, so, more precisely, the network communication between two computers is actually between communication on the two processes(Think about human communication). For example, the browser process communicates with a web service process on the AzatAI server, and the WhatsAPP process communicates with a process on a certain server of Facebook. Network programming is the same for all development languages, and Python is no exception. Network programming in Python is to communicate with the communication port of another server process in the process of the Python program itself. In this chapter we will detail the concept of Python network programming and the programming of the two most important network types. BBP Часть 1.0-Сетевое программирование С момента рождения Интернета, в основном все программы теперь являются веб-приложениями, и есть очень мало автономных программ. Компьютерная сеть соединяет компьютеры вместе, чтобы компьютеры в сети могли взаимодействовать друг с другом. Сетевое программирование - это способ взаимодействия между двумя компьютерами в программе. Например, при использовании браузера для доступа Azat.AI ваш компьютер подключен к серверу AzatAI через Интернет. Затем сервер AzatAI передает содержимое веб-страницы в виде данных на ваш компьютер через Интернет. Поскольку на вашем компьютере может быть не только браузер, есть Facebook, Skype, Dropbox, почтовый клиент и т. д. Другие компьютеры, подключенные разными программами, будут отличаться, поэтому, точнее, сетевая связь между двумя компьютерами на самом деле является связью между двумя процессами(подумайте о человеческом общении). Например, процесс браузера взаимодействует с процессом веб-службы на сервере AzatAI, а процесс WhatsAPP взаимодействует с процессом на определенном сервере Facebook. Сетевое программирование одинаково для всех языков разработки, и Python не является исключением. Сетевое программирование на Python-это взаимодействие с коммуникационным портом другого серверного процесса в процессе самой программы Python. В этой главе мы подробно рассмотрим концепцию сетевого программирования Python и программирование двух наиболее важных типов сетей. BBP Бөлім 1.0 - Желілік бағдарламалау Интернет пайда болғаннан бастап, қазір барлық бағдарламалар веб-қосымшалар болып табылады, ал оқшау бағдарламалар өте аз. Компьютерлік желі желідегі компьютерлер бір-бірімен байланыса алатындай етіп компьютерлерді бір-біріне қосады. Желілік бағдарламалау дегеніміз - екі компьютердің программадағы өзара әрекеттесу тәсілі. Мысалы, Azat.AI-ге кіру үшін браузерді пайдаланған кезде, компьютер Интернет арқылы AzatAI серверіне қосылған. Содан кейін AzatAI сервері веб-беттің мазмұнын Интернет арқылы компьютерге деректер түрінде жібереді. Компьютерде тек браузер ғана бола алмайтындықтан, Facebook, Skype, Dropbox, электронды пошта клиенті және т.с.с. Әр түрлі бағдарламалармен қосылған басқа компьютерлер әр түрлі болады, сондықтан дәлірек айтқанда, екі компьютер арасындағы желілік қосылым - бұл шын мәнінде екі процестер (адаммен қарым-қатынас туралы ойланыңыз). Мысалы, шолушы процесі AzatAI серверіндегі веб-қызмет процесінде, ал WhatsAPP процесі белгілі бір Facebook серверіндегі процеспен өзара әрекеттеседі. Желілік бағдарламалау барлық даму тілдері үшін бірдей және Python да ерекшелік емес. Python желілік бағдарламалау - бұл Python бағдарламасының өзі процесінде басқа сервер процесінің байланыс портымен өзара әрекеттесуі. Бұл тарауда біз Python желілік бағдарламалау және бағдарламалаудың екі маңызды типтегі түрлерін түсінуді тереңірек қарастырамыз. 😀
Please sign up or sign in to like or write comments on this post.
Comments Favorite

Follow Us

© 2019 AzatAI All Rights Reserved