Самоучитель Python 3, собранный из материалов данного сайта.Предназначен в основном для тех, кто хочет изучить язык программирования Python с нуля.
Определение методов
using System;
class MathHelper {
static int Add(int a, int b) {
return a + b;
}
static double CircleArea(double r) {
return Math.PI * r * r;
}
static void Main() {
Console.WriteLine(Add(3, 4)); // 7
Console.WriteLine(CircleArea(5.0)); // 78.539...
}
}
Expression-bodied методы (C# 6+)
static int Square(int x) => x * x;
static string Greet(string name) => $"Привет, {name}!";
Console.WriteLine(Square(5)); // 25
Console.WriteLine(Greet("Алиса")); // Привет, Алиса!
Необязательные и именованные параметры
static void PrintInfo(string name, int age = 18, string country = "RU") {
Console.WriteLine($"{name}, {age}, {country}");
}
PrintInfo("Алиса"); // Алиса, 18, RU
PrintInfo("Боб", 25); // Боб, 25, RU
PrintInfo("Кэрол", country: "UK"); // Кэрол, 18, UK
Перегрузка методов
static int Multiply(int a, int b) => a * b;
static double Multiply(double a, double b) => a * b;
static int Multiply(int a, int b, int c) => a * b * c;
Multiply(2, 3); // 6
Multiply(2.5, 3.0); // 7.5
Multiply(2, 3, 4); // 24
Рекурсия
static int Factorial(int n) {
if (n <= 1) return 1;
return n * Factorial(n - 1);
}
Console.WriteLine(Factorial(5)); // 120
out-параметры
static void Divide(int a, int b, out int quotient, out int remainder) {
quotient = a / b;
remainder = a % b;
}
Divide(17, 5, out int q, out int r);
Console.WriteLine($"{q} остаток {r}"); // 3 остаток 2