python学习—循环/方法/类/测试

314 阅读2分钟

1.for循环

#for内部循环,外部不循环
magicians = ['alice', 'david', 'carolina']
for magician in magicians:  
    print(magician)
    print(magician.title() + ',that was a great trick!')  # 循环
print('thank you everyone for your great magic show!')  # 不循环

2.range和arange

#range()是用来创建列表的常用函数,参数必为整数,step默认1
range(start, stop[, step])
#在给定的间隔内返回均匀间隔的值
numpy.arange([start, ]stop, [step, ]dtype=None)

3.简单计算

digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]  # 简单列表计算
print(min(digits))
print(max(digits))
print(sum(digits))

4.列表/元组

# 列表解析式
squares = [value ** 2 for value in range(1, 11)]  
# 遍历切片
for number in squares[0:3]: 
    print(number)
my_foods = ['a', 'b', 'c']
# 列表复制
friend_foods = my_foods[:]  
#移除remove
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)
while pets:
    pets.remove('cat')
print(pets)

# 元组,不可修改
dimensions = (200, 50)  
print(dimensions[0])
 # 遍历元组
for dimension in dimensions: 
    print(dimension)
# 字典:键值对
alien_0 = {'color': 'green', 'points': 5}  
# 新增键值对
alien_0['x_position'] = 0  
alien_0['y_position'] = 25
print(alien_0)
# 修改字典值
alien_0['color'] = 'yellow'  
# 删除字典
del alien_0['points'] 
#遍历字典
favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python'}
for name, language in favorite_languages.items():
    print(name.title() + "'s favorite language is " + language.title() + '.')
# 遍历键keys
for name in favorite_languages.keys():  
    print(name.title())
# 遍历值values
for language in favorite_languages.values(): 
    print(language.title()) 
# 排序
for name in sorted(favorite_languages.keys()):  
    print(name.title() + ',thank you for taking the pool.')
# 集合,去重
for language in set(favorite_languages.values()):  
    print(language.title())

5.判断循环if/for/while等

cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:  
    if car == 'bmw':
        print(car.upper())
    else:
        print(car.title())
age_0 = 22
age_1 = 18
# 条件判断and
age_0 >= 21 and age_1 >= 21
# 条件判断or
age_0 >= 21 or age_1 >= 21  
#循环控制active
prompt = '\nTell me something,and I will repeat it to you.'
prompt += "\nEnter 'quit' to end the program."
active = True
while active:
    message = input(prompt)
    if message == 'quit':
        active = False
    else:
        print(message)
#continue回到开头循环
current_number = 0
while current_number < 10:
    current_number += 1
    if current_number % 2 == 0:
        continue
    print(current_number)

6.定义方法def

# 位置实参
describe_pet('hamster', 'harry'):  
# 关键字实参
describe_pet(animal_type='hamster', pet_name='harry'): 
# 默认形参,置后
def describe_pet(pet_name, animal_type='dog'): 
# 位置实参和任意数量实参
def make_pizza(size, *toppings):
#定义方法的过程:
def get_formatted_name(first_name, last_name, middle_name=''):
    if middle_name:
        full_name = first_name + ' ' + middle_name + ' ' + last_name
    else:
        full_name = first_name + ' ' + last_name
    return full_name.title()

7.类class(属性)

class Dog():
     def __init__(self, name, age):
         self.name = name
         self.age = age
         
     def sit(self):
         print(self.name.title() + ' is now sitting.')
         
     def roll_over(self):
         print(self.name.title() + ' rolled over!')
my_dog = Dog('willie', 6)
my_dog.sit()
my_dog.roll_over()

class AnonymousSurvey():
    def __init__(self, question):
        self.question = question
        self.responses = []

    def show_question(self):
        print(self.question)

    def store_response(self, new_response):
        self.responses.append(new_response)

    def show_results(self):
        print('Survey results:')
        for response in self.responses:
            print('-' + response)

8.读取当前目录下的文件

 with open('pi_digits.txt') as file_object:
     contents = file_object.read()
     print(contents)
     print(contents.rstrip())
#读取路径下的文件
file_path = r'C:\Users\雪小玲\Desktop\学习\《Python编程》源代码文件\chapter_10\pi_digits.txt'
with open(file_path) as file_object:
     contents = file_object.read()
     print(contents)

9.测试try...except...else...

print('give me two numbers,and divide them.')
while True:
    first_number = input('first number:')
     if first_number == 'q':
         break
     second_number = input('second number:')
     try:
         answer = int(first_number) / int(second_number)
     except ZeroDivisionError:
         print('you cannot divide by 0.')
     else:
         print(answer)

10.调用模块/函数

from collections import OrderedDict
favorite_languages = OrderedDict()
# 导入方法1-1
import pizza
pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
# 导入方法1-2
import pizza as p
p.make_pizza(16, 'pepperoni')
p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
# 导入方法2-1
from pizza import make_pizza
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
# 导入方法2-2
from pizza import make_pizza as mp
mp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers', 'extra cheese')
#导入pizza中的所有函数
from pizza import *
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')