Python基础课程-基础关键字和语法

Python入门

目录

  • Hello World!
  • 字符串操作
  • 简单数学计算
  • if elif else
  • 循环
  • 小测试

为什么学Python

简单方便代码少. 不用太关注类型, 声明等琐事. 使用灵活, 第三方支持包也多.

所有的深度学习框架一般都有一个Python版的接口.

为什么使用IPython/Jupyter

IPython Notebook号称 “编码器的实验室笔记本” - 允许用户在单个基于浏览器的页面中交叉显示/执行数据,代码和说明文本,而不是在单独的文件中

基础类型

python中的主要基本数据类型是数字(整数和浮点数),布尔值和字符串

Hello World!

In [1]

# This is a one line comment
print('Hello World!')
Hello World!

In [2]

# Strings can be enclosed by ',", or """
print("Hello World!")
Hello World!

In [21]

# \ is used as a escape character. 
# There are many special escape sequences
# Notable are: \t (tab)
#             \n (new line)

In [22]

print("The \n makes a new line")
The 
 makes a new line

In [23]

print("The \t is a tab")
The 	 is a tab

In [24]

print('I\'m going to the movies')
I'm going to the movies

In [25]

# Using \ to not accidently close the string by having a closing "
print("This is a string enclosed by \"\" not '' ")
This is a string enclosed by "" not '' 

In [3]

# Creating a variable
# Variables are used to store information to be referenced 
# and manipulated in a computer program.

firstVariable = 'Hello World'
print(firstVariable)
Hello World

字符串操作

字符串是python的特殊类型。作为对象,在类中,您可以使用.methodName()表示法调用字符串对象上的方法。字符串类在python中默认可用,因此您不需要import语句即可将对象接口用于字符串。

In [27]

# 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

In [28]

# To look up what each method does
firstVariable.lower?

In [35]

# Can also use help
help(firstVariable.lower)
Help on built-in function lower:

lower(...)
    S.lower() -> string
    
    Return a copy of the string S converted to lowercase.

In [36]

help

In [29]

firstVariable.split(' ')
['Hello', 'World']

In [4]

a=firstVariable.split(' ')
a
['Hello', 'World']

In [5]

' '.join(a)
'Hello World'

In [32]

print("0" + "1")
01

In [6]

"0" * 3
'000'

In [7]

# You can add strings together. 
"Fizz" + "Buzz"
'FizzBuzz'

基础数学

有四种不同的数字类型:普通整数,长整数,浮点数和复数。另外,布尔值是普通整数的子类型。

In [138]

# Addition, add two int together
1+1
2

In [139]

# if one of the operands is a float, the result is a float.
130-2.0  
128.0

In [140]

130-2
128

In [141]

# integer division
130/2    
65.0

In [142]

130.0/2
65.0

In [143]

# Multiplication
2*3
6

In [144]

# Exponentiation ** 
# This operator raises the number to its left to the power of the number to its right 
2**3
8

In [145]

# Modulo
# Returns the remainder of the division of the number to the left by the 
# number on its right. 
9%3
0

if 语句

比较操作符功能
<小于
<=小于或等于

| 大于 = | 大于或等于 == | 等于 != | 不等于

检查某些东西是否为True,如果是,则执行此操作。如果它不是True(False),则不执行

In [8]

# Notice you have to indent after you start a if statement. 
num = 3
if num == 3: 
    print(num)
3

In [147]

# Nothing is outputted because num > 10 is FALSE
num = 3
if num > 10:
    print(num)

In [148]

num = 3
if num % 3 == 0:
    print("Fizz")
Fizz

In [149]

num = 10
if num % 5 == 0:
    print("Buzz")
Buzz

In [150]

if True:
    print("This was True")
This was True

In [151]

if False: 
    print("Nothing printed")
逻辑操作符描述
and如果两个操作数均为True,则condition变为True.
or如果两个操作数中的任何一个为True,则condition变为True.
not用于反转逻辑(不是False变为True,而不是True变为False

In [152]

num = 4
num > 0 and num  < 15
True

In [153]

# both the conditions are true, so the num will be printed out
if num > 0 and num  < 15:
    print(num)
4

In [154]

# 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

In [155]

if num > 0 or num  > 15:
    print(num)
4

In [156]

# or will only evaluate to False if both are False
if False or False:
    print('Nothing will print out')

In [157]

num = 10
not num < 20 
False

else 语句

必须在if或elif语句之后。最多可以有一个其他声明。仅当上面的所有“if”和“elif”语句都为False时才会执行

In [158]

num = 1
if num > 3 :
    print("Hi")

In [159]

"""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

In [160]

"""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

  1. 将num分配给整数值。
  2. 如果整数是偶数,写一个if else组合将打印“你的整数是偶数”。否则,打印“你的整数是奇数”。

提示:任何可以精确地除以2的整数都是偶数(例如:2,4,6)。任何不能精确地除以2的整数都是奇数(例如:1,3,5)。使用模运算符(%),它将数字左边的余数除以右边的数字。

In [161]

num = 3
if num % 2 == 0:
    print("Your integer is even")
else: 
    print("Your integer is odd")
Your integer is odd

elif 语句

必须在if语句之后。 elif语句语句允许您检查True的多个表达式,并在其中一个条件求值为True时立即执行代码块。

与else类似,elif语句是可选的。但是,与其他情况不同,最多只能有一个语句,if后面可以有任意数量的elif语句。

In [162]

num = 21
if num > 50:
    print('num is larger than 50')
elif num == 21:
    print('num = 21')
else:
    print('Catchall condition')
num = 21

In [163]

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

In [164]

# You can have mulitple elif statements. 
# Remember only the first True statement has its block of code executed. 

dice_value = 1
if dice_value == 1:
    print('You rolled a {}. Great job!'.format(dice_value))
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 1. Great job!

Task

  1. 将num分配给整数值。
  2. 编写一系列if,elif,else语句,打印您指定的num。但是对三的倍数要打印“Fizz”而不是数字, 五的倍数要打印“Buzz”。对于三和五共同的倍数则打印“FizzBuzz”

In [165]

# Solution 1
num = 10

In [166]

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))
Buzz

In [167]

# Solution 2
num = 15

In [168]

"""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, | 4, | 2] index | 0 | 1 | 2 | 3

In [2]

# Defining a list
z = [3, 7, 4, 2]

访问列表里面的值

In [3]

# The first element of a list is at index 0
z[0]
3

In [4]

z[2]
4

In [6]

# Access Last Element of List 
z[-2]
4

切分列表

In [120]

# first index is inclusive (before the :) and last (after the :) is not. 
# not including index 2
z[0:2]
[3, 7]

In [22]

# everything up to index 3
z[:3]
[3, 7, 4]

In [47]

# index 1 to end of list
z[1:]
[7, 4, 2]

取列表的最大值, 最小值, 长度, 以及总和

In [7]

print(min(z), max(z), len(z), sum(z))
2 7 4 16

对列表中对象出现次数进行统计

In [8]

random_list = [4, 1, 5, 4, 10, 4]
random_list.count(4)
3

返回列表第一个指针

| | | | | | --- | --- | --- | --- | --- | --- | --- random_list =| [4, | 1, | 5, | 4, | 10, | 4] index=| 0 | 1 | 2 | 3 | 4 | 5

In [9]

random_list.index(4)
0

In [75]

# you can specify where you start your search
random_list.index(4, 3)
3

In [180]

# random_list.index(value, [start, stop])
random_list.index(4, 5, 6)
5

对列表进行排序

In [15]

x = [3, 7, 2, 11, 8, 10, 4]
y = ['Steve', 'Rachel', 'Michael', 'Adam', 'Monica', 'Jessica', 'Lester']

In [16]

# Sorting and Altering original list
# low to high
x.sort()
print(x)
[2, 3, 4, 7, 8, 10, 11]

In [17]

# Sorting and Altering original list
# high to low
x.sort(reverse = True)
print(x)
[11, 10, 8, 7, 4, 3, 2]

In [18]

# Sorting and Altering original list
# A-Z
y.sort()
print(y)
['Adam', 'Jessica', 'Lester', 'Michael', 'Monica', 'Rachel', 'Steve']

In [19]

# Sorting and Altering original list
# Z-A
y.sort(reverse = True)
print(y)
['Steve', 'Rachel', 'Monica', 'Michael', 'Lester', 'Jessica', 'Adam']

In [20]

# sorting list WITHOUT altering original list 
new_list = sorted(y)
new_list
['Adam', 'Jessica', 'Lester', 'Michael', 'Monica', 'Rachel', 'Steve']

In [21]

# notice y is unchanged
y
['Steve', 'Rachel', 'Monica', 'Michael', 'Lester', 'Jessica', 'Adam']

在列表结尾添加一个对象

In [22]

x
[11, 10, 8, 7, 4, 3, 2]

In [23]

x.append(3)
print(x)
[11, 10, 8, 7, 4, 3, 2, 3]

删除列表中一个对象

In [24]

x.remove(10)
print(x)
[11, 8, 7, 4, 3, 2, 3]

删除列表中指定位置的对象

In [25]

# List before you remove an item
print(x)
[11, 8, 7, 4, 3, 2, 3]

In [26]

# Remove item at the index
# this function will also return the item you removed from the list
# Default is the last index
x.pop(3)
4

In [27]

print(x)
[11, 8, 7, 3, 2, 3]

合并列表

通过在末尾续加的方式来延长列表

In [28]

x.extend([4, 5])

In [29]

x
[11, 8, 7, 3, 2, 3, 4, 5]

In [195]

# 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']

在列表指定位置前插入对象

In [30]

x
[11, 8, 7, 3, 2, 3, 4, 5]

In [197]

x.insert(4, [4, 5])

In [198]

x
[11, 8, 7, 3, [4, 5], 2, 3, 4, 5]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕斯先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值