Начало работы с Python
содержание
- Hello World!
- Манипуляции со строками
- простая математика
- if elif else
- цикл
- маленький тест
Зачем изучать Python
Простой и удобный, меньше кода. Не обращайте слишком много внимания на мелочи, такие как типы, объявления и т. д. Он гибкий в использовании, и есть много сторонних пакетов поддержки.
Все фреймворки глубокого обучения обычно имеют версию интерфейса Python.
Зачем использовать IPython/Jupyter
IPython Notebook позиционирует себя как «лабораторный блокнот для программистов» — позволяет пользователям отображать/выполнять данные, код и пояснительный текст на одной странице в браузере, а не в отдельных файлах.
базовый тип
Основными базовыми типами данных в Python являются числа (целые и с плавающей запятой), логические значения и строки.
Hello World!
# This is a one line comment#描述
print('Hello World!')
Hello World!
# Strings can be enclosed by ',", or
print("Hello World!")
# \ is used as a escape character#转义字符.
# There are many special escape sequences#有许多特殊的转义序列
# Notable are: \t (tab)#tab键
# \n (new line)换行
print("The \n makes a new line")
The
makes a new line
print("The \t is a tab")
The is a tab
print('I\'m going to the movies')
I'm going to the movies
firstVariable="hello,world"
print(firstVariable)
hello,world
Манипуляции со строками
Строки — это особый тип Python. В качестве объекта в классе вы можете вызывать методы для строковых объектов, используя нотацию .methodName(). Строковый класс доступен по умолчанию в python, поэтому вам не нужен оператор импорта, чтобы использовать объектный интерфейс для строк.
# go over ? mark after if you are not sure what method does.
print(firstVariable.lower())
print(firstVariable.upper())
print(firstVariable.title())
hello,world
HELLO,WORLD
Hello,World
# To look up what each method does
firstVariable.lower?
#函数名
#文档描述
#内部函数或方法
#help(firstVariable.lower)
# Can also use help
#help(firstVariable.lower)
#help()
firstVariable.split(',')
['hello', 'world']
a=firstVariable.split(',')
a
['hello', 'world']
' '.join(a)#"内是空格" 表示 拼接时用
'hello world'
help(' '.join)
Help on built-in function join:
join(iterable, /) method of builtins.str instance
Concatenate any number of strings.
The string whose method is called is inserted in between each given string.
The result is returned as a new string.
Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
print("0" + "1")
01
"0" * 3
'000'
# You can add strings together.
"Fizz" + "Buzz"
'FizzBuzz'
базовая математика
Существует четыре различных типа чисел: простые целые числа, длинные целые числа, числа с плавающей запятой и комплексные числа. Кроме того, логические значения являются подтипом обычных целых чисел.
# Addition, add two int together
1+1
2
# if one of the operands is a float, the result is a float.
130-2.0
128.0
130-2
128
# integer division
130/2
65.0
130.0/2
65.0
# Multiplication
2*3
6
# Exponentiation **
# This operator raises the number to its left to the power of the number to its right
2**3
8
# Modulo
# Returns the remainder of the division of the number to the left by the
# number on its right.
9%3#and
0
если оператор
оператор сравнения | Функции |
---|---|
< | меньше, чем |
<= | меньше или равно |
> | больше, чем |
>= | больше или равно |
== | равный |
!= | не равно |
Проверьте, верно ли что-то, и если да, сделайте это. Если это не True (False), не выполнять
# Notice you have to indent after you start a if statement. indet缩进 statement 语句
num = 3
if num == 3:
print(num)
3
# Nothing is outputted because num > 10 is FALSE
num = 3
if num > 10:
print(num)
num = 3
if num % 3 == 0:
print("Fizz")
Fizz
num = 10
if num % 5 == 0:
print("Buzz")
Buzz
if True:
print("This was True")
This was True
if False:
print("Nothing printed")
логический оператор | описывать |
---|---|
and | Если оба операнда истинны, условие становится истинным. |
or | Если любой из двух операндов имеет значение True, условие становится True. |
not | Для инвертирования логики (не False становится True, не True становится False |
姓名|性别
--- | ---
马文翰 | 男
File "<ipython-input-15-b9a42e501bf6>", line 2
--- | ---
^
SyntaxError: invalid syntax
num = 4
num > 0 and num < 15
True
# both the conditions are true, so the num will be printed out
if num > 0 and num < 15:
print(num)
4
# num > 0 is True, num > 15 is False
# Since the first condition is True, it is True
num = 4
num > 0 or num > 15
True
num > 0 or num > 15
True
# or will only evaluate to False if both are False
if False or False:
print('Nothing will print out')
num = 10
not num < 20
False
еще оператор
Должен идти после оператора if или elif. Может быть не более одного другого объявления. будет выполняться только в том случае, если все приведенные выше операторы «if» и «elif» имеют значение False.
num = 1
if num > 3 :
print("Hi")
"""We will execute what is inside the else statement
because num is not greater than 3
"""
num = 1
if num > 3 :
print("Hi")
else:
print("number is not greater than 3")
number is not greater than 3
"""We will execute what is inside the if statement because num > 4"""
num = 4
if num > 3 :
print("Hi")
else:
print("number is not greater than 3")
Hi
Task(сложная задача
- Присвоить num целочисленному значению.
- Если целое число четное, запись комбинации if else напечатает «ваше целое число четное». В противном случае выведите «ваше целое число нечетное».
Подсказка: любое целое число, которое можно разделить точно на 2, является четным (например: 2,4,6). Любое целое число, которое нельзя разделить точно на 2, является нечетным числом (например, 1,3,5). Используйте оператор по модулю (%), который делит остаток слева от числа на число справа.
num = 3
if num % 2 == 0:
print("Your integer is even")#even偶数
else:
print("Your integer is odd") #odd奇数
Your integer is odd
Элиф заявление
Должен идти после оператора if. Оператор оператора elif позволяет вам проверять несколько выражений на истинность и выполнять блок кода, как только одно из условий оценивается как истинное.
Как и в случае с else, оператор elif является необязательным. Однако, в отличие от других случаев, когда может быть не более одного оператора, за оператором if может следовать любое количество операторов elif.
num = 21
if num > 50:
print('num is larger than 50')
elif num == 21:
print('num = 21')
else:
print('Catchall condition')
num = 21
num = 21
if num > 50:
pirnt("num is larger than 50")
elif num == 22:
print("num == 21")
else:
print("catchall condition")
catchall condition
my_num = 5
if my_num % 2 == 0:
print("Your number is even")
elif my_num % 2 != 0:
print("Your number is odd")
else:
print("Are you sure your number is an integer?")
Your number is odd
my_num = 3
if my_num % 2 == 0:
print("your integer is even")
elif my_num % 2 != 0:
print ("your integer is odd")
else :
print ("Are you sure your number is an integer ?")
your integer is odd
# You can have mulitpled elif statements.# statements 声明/报告 mulitpled多重
# Remember only the first True statement has its block of code executed.
dice_value = 3#点数
if dice_value == 1:
print('You rolled a {}. Great job!'.format(dice_value))#format格式 roll摇
elif dice_value == 2:
print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 3:
print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 4:
print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 5:
print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 6:
print('You rolled a {}. Great job!'.format(dice_value))
else:
print('None of the conditions above (if elif) were evaluated as True')
You rolled a 3. Great job!
dice_value = 6#这里犯过一个优质的错误 把赋值"="写成了"=="
if dice_value == 1:
pirnt("you rolled a {}. Great job ! ".format(dice_value))
elif dice_value == 2:
print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 3:
print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 4:
print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 5:
print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 6:
print("your rolled a {} . Great job!".format (dice_value) )
your rolled a 6 . Great job!
Task
- Присвоить num целочисленному значению.
- Напишите серию операторов if, elif, else, которые печатают указанное вами число. Но вместо чисел, кратных трем, выведите «Fizz» и «Buzz», если число кратно пяти. Выведите «FizzBuzz» для общих чисел, кратных трем и пяти.
# Solution 1
num = 15
if num % 3 == 0 and num % 5 == 0 :
print("FizzBuzz")
elif num % 3 == 0 :
print("Fizz")
elif num % 5 == 0:
print("Buzz")
FizzBuzz
if num % 3 == 0 and num % 5 == 0:
print('FizzBuzz')
elif num % 3 == 0:
print('Fizz')
elif num % 5 == 0:
print('Buzz')
else:
print(str(num))
FizzBuzz
# Solution 2
num = 15
"""Notice how difficult this solution is relative to Solution 1"""
string = ""
if num % 3 == 0:
string = string + "Fizz"
if num % 5 == 0:
string = string + "Buzz"
if num % 5 != 0 and num % 3 != 0:
string = string + str(num)
print(string)
FizzBuzz
список
Список с квадратными скобками [ ]
z = | [3, | 7, |
index | 0 | 1 |
# Defining a list
z = [3, 7, 4, 2]
получить доступ к значению в списке
# The first element of a list is at index 0
z[0]
3
z[2]
4
# Access Last Element of List #Access 访问
z[-2]
4
Разделить список
# first index is inclusive (before the :) and last (after the :) is not.
# not including index 2
z[0:2]
[3, 7]
# everything up to index 3
z[:3]
[3, 7, 4]
# index 1 to end of list
z[1:]
[7, 4, 2]
Возьмите список максимума, минимума, длины и суммы
print(min(z), max(z), len(z), sum(z))
2 7 4 16
Подсчитать количество вхождений объектов в списке
random_list = [4, 1, 5, 4, 10, 4]
random_list.count(4)#count计数
3
Возвращает первый указатель списка
random_list = | [4, | 1, | 5, | 4, |
index= | 0 | 1 | 2 | 3 |
random_list.index(4)
0
# you can specify(指定) where you start your search
random_list.index(4, 4)#(需要查找的数,从哪个序号开始)
5
# random_list.index(value, [start, stop])
random_list.index(4, 4, 6)
5
Еще раз обратите внимание, что начало сохраняется, а конец не сохраняется.
Сортировать список
x = [3, 7, 2, 11, 8, 10, 4]
y = ['Steve', 'Rachel', 'Michael', 'Adam', 'Monica', 'Jessica', 'Lester']
# Sorting and Altering original list
# low to high
x.sort()
print(x)
[2, 3, 4, 7, 8, 10, 11]
# Sorting and Altering original list
# high to low
x.sort(reverse = True)
print(x)
[11, 10, 8, 7, 4, 3, 2]
# Sorting and Altering original list 改变原始列表
# A-Z
y.sort()
print(y)
['Adam', 'Jessica', 'Lester', 'Michael', 'Monica', 'Rachel', 'Steve']
# Sorting and Altering original list
# Z-A
y.sort(reverse = True)# reverse/rɪˈvɜːs/颠倒
print(y)
['Steve', 'Rachel', 'Monica', 'Michael', 'Lester', 'Jessica', 'Adam']
# sorting list WITHOUT altering original list
new_list = sorted(y)
new_list
['Adam', 'Jessica', 'Lester', 'Michael', 'Monica', 'Rachel', 'Steve']
# notice y is unchanged
y
['Steve', 'Rachel', 'Michael', 'Adam', 'Monica', 'Jessica', 'Lester']
добавить объект в конец списка
x
[11, 10, 8, 7, 4, 3, 2]
x.append(3)
print(x)
[3, 7, 2, 11, 8, 10, 4, 3]
удалить объект из списка
x.remove(10)
print(x)
[3, 7, 2, 11, 8, 4, 3]
Удалить объект в указанной позиции в списке
# List before you remove an item
print(x)
[3, 7, 2, 11, 8, 4, 3]
# Remove item at the index item(对象)
# this function will also return the item you removed from the list
# Default is the last index
x.pop(3)
11
print(x)
[3, 7, 2, 8, 4, 3]
объединить список
Расширьте список, добавив в конце
x.extend([4, 5])
x
[3, 7, 2, 8, 4, 4, [4, 5], 4, 3, 4, 5]
# lists can be diverse, each element in the list can be of a different type.
# lists are really list of pointers, and these pointers can
# point to anything.
# Concatenating Lists
print('x+y=',x+y)
x+y= [11, 8, 7, 3, 2, 3, 4, 5, 'Steve', 'Rachel', 'Monica', 'Michael', 'Lester', 'Jessica', 'Adam']
Вставить объект перед указанной позицией в списке
x
[3, 7, 2, 11, 8, 10, 4]
x.insert(4, 4)#插入一个数
x
[3, 7, 2, 11, 4, 8, 10, 4]
x.insert(4,[4,5])#插入一个列表
x
[3, 7, 2, 11, [4, 5], [4, 5], 4, 8, 10, 4]