1. 基本语法
1.1 for循环
prices = [10,20,30]
total = 0
for price in prices:
total += price
print(f"Total: {total}")
1.2 用嵌套for循环打印F
numbers = [5,2,5,2,2]
for x_count in numbers:
output = ''
for count in range(x_count):
output += 'x'
print(output)
1.3 找出列表中最大的数
numbers = [3,6,2,10,8,4]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
1.4 矩阵
matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
]
for row in matrix:
for item in row:
print(item)
1.5 列表API
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
numbers = [5,2,1,7,4]
# 在列表末尾添加数字20
numbers.append(20)
# 在0索引上插入10,其他元素向右移
numbers.insert(0,10)
# 移除5这个元素
numbers.remove(5)
# 清空列表
numbers.clear()
# 删除列表最后一项
numbers.pop()
# 返回值为5的元素的索引,如果没有会抛异常
numbers.index(5)
# 判断列表中是否存在50,返回布尔类型,所以使用这个更安全
50 in numbers
# 列表中5出现的次数
numbers.count(5)
# 对列表进行升序排列,无返回值
numbers.sort()
# 反转列表,无返回值
numbers.reverse()
# 复制列表
numbers2 = numbers.copy()
1.6 去掉列表中重复的数字
numbers = [2,2,4,6,3,4,6,1]
uniques = []
for number in numbers:
if number not in uniques:
uniques.append(number)
print(uniques)
1.7 元组 不能被修改
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
numbers = (1,2,3)
# 会抛异常
numbers[0] = 10
1.8 解压缩
# 元组和列表可以通过这种方式(解压缩)给变量复制
coordinates = (1,2,3)
x,y,z = coordinates
1.9 字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。
customer = {
"name":"Join Smith",
"age":30,
"is_verified":True
}
customer["birthdate"] = "Jan 1 1980"
print(customer["birthdate"])
1.10 输入数字打印英文
phone = input("Phone: ")
digits_mapping = {
"1":"One",
"2":"Two",
"3":"Three",
"4":"Four"
}
output = ""
for ch in phone:
output += digits_mapping.get(ch,"!")+" "
print(output)
1.11 表情和符号的替换
message = input(">")
words = message.split(' ')
emojis = {
":)":"😊",
":(":"😢"
}
output = ""
for word in words:
output += emojis.get(word,word)+" "
print(output)
1.12 函数的定义
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def greet_user(first_name,last_name):
print(f'Hi {first_name} {last_name}!')
print('Welcome aboard')
print("Start")
greet_user("John","Smith")
print("Finish")
1.13 将表情转换定义为函数
def emoji_converter(message):
words = message.split(' ')
emojis = {
":)": "😊",
":(": "😢"
}
output = ""
for word in words:
output += emojis.get(word, word) + " "
return output
message = input(">")
print(emoji_converter(message))
1.14 异常处理
即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
大多数的异常都不会被程序处理,都以错误信息的形式展现在这里.
try 语句按照如下方式工作;
- 首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
- 如果没有异常发生,忽略 except 子句,try 子句执行后结束。
- 如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。
- 如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。
一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。
一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组
try:
age = int(input('Age: '))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0.')
except ValueError:
print('Invalid value')
1.15 类
用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
class Point:
def move(self):
print("move")
def draw(self):
print("draw")
point1 = Point()
point1.x = 10
point1.y = 20
print(point1.x)
point1.draw()
1.16 构造方法
__init__
class Person:
def __init__(self,name):
self.name = name
def talk(self):
print(f"Hi, I am {self.name}")
john = Person("John Smith")
print(john.name)
john.talk()
1.17 继承
Python 同样支持类的继承,如果一种语言不支持继承,类就没有什么意义。
class Mammal:
def walk(self):
print("walk")
class Dog(Mammal):
def bark(self):
print("bark")
class Cat(Mammal):
def be_annoying(self):
print("annoying")
dog1 = Dog()
dog1.walk()
网友评论