接着上一篇,这篇继续来讲 Python 的基础语法。
字典
字典是一系列键-值对,键-值对之间用 冒号 : 连接,用花括号 { } 表示字典。
# 字典
alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
# green
给字典增添新键-值对,可以用如下方法:将值赋给字典名+方括号括起来新键名:
# 给字典增添新键值对
alien_0['y_position'] = 0
print(alien_0['y_position'])
# 0
遍历字典时,键-值对的获取顺序是不可测的。
输入和 while 循环
用 input( ) 函数获取输入。
# 输入
message = input("Tell me something, and I will repeat it back to you:")
print(message)
while 循环。
# while 循环
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
# 1
# 2
# 3
# 4
# 5
可用 break 直接退出循环,用 continue 进行下一次循环。
函数
用关键字 def 告诉 Python 你要去定义一个函数。用三个引号括起去给函数注释,说明该函数的作用。
# 函数
def greet(username):
"""简单问候语"""
print('hello,' + username.title() + '!')
greet('superfeng')
# hello,Superfeng!
向函数传递实参时,可以按顺序传递,关键字传递(注意必须正确指定函数定义的形参名),默认值。
在 Python 中,向函数传递的实参都会被函数直接永久地修改,如果想在函数用实参的副本进行操作,就要用到向函数传递列表切片的方法,这样在传递实参之前就会就列表进行备份。
传递任意数量的实参,就要用 星号* ,会把任意数量的实参都封装在一个元组中。
# 传递任意数量的实参
def make_pizza(*toppings):
"""打印任意数量的实参"""
print(toppings)
make_pizza('mushrooms', 'green papers', 'extra cheese')
# ('mushrooms', 'green papers', 'extra cheese')
传递任意数量的关键字实参,要用到 两个星号** ,这会将传入的关键字实参封装到一个字典中。
导入函数模块的方法:import + 要导入模块的名称。调用导入模块中的函数时,要使用 句点. 访问。在导入模块时,可以用 as 给模块起别名。
# 调用模块中的函数
import pizza
pizza.make_pizza('mushrooms', 'green papers', 'extra cheese')
# ('mushrooms', 'green papers', 'extra cheese')
类
在 Python 中,用关键字 class 创建类,按照约定首字母大写的名称指的是类,应该用驼峰命名法。类中的函数称为方法。特殊方法 _init(self, name1, name2)_ 可以看做向类传递参数的一个接口,其中通过形参 self 向类中其它方法传递参数。创建和调用一个类如下方法:
# 创建一个类
class Dog:
"""一次模拟小狗的简单尝试"""
def __init__(self, name, age):
"""初始化属性 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')
print(my_dog.name.title() + ' say hello!')
my_dog.roll_over()
# Willie say hello!
# Willie rolled over!
可以通过三种方式修改属性的值:直接通过实例进行修改,通过方法进行设置,通过方法进行递增。
继承
在继承时,子类的括号中必须包括父类的名字。让子类继承父类的属性时,要用到 super( ) 函数,父类也称为超类(superclass)。
# 继承
class SpecialDog(Dog):
"""子类:特殊的狗"""
def __init__(self, name, age):
# 用 super() 函数继承父类属性
super().__init__(name, age)
his_dog = SpecialDog('tom', 6)
his_dog.roll_over()
# Tom rolled over!
如果在子类中重新写了一个与父类同名的方法,创建实例时会自动忽略父类。
文件
读取文件:关键字 with 可以在不需要访问文件之后将其关闭。文件路径可以用相对路径或绝对路径进行查找。
# 读取文件
file_path = 'C:\\Users\\Desktop\\data.txt'
with open(file_path) as file_object:
contents = file_object.read()
print(contents)
存储数据
可以将 Python 文件的数据存储到 .json 类型文件中(.json 原本是为了 JavaScript 开发的,但后来被更多的语言所使用),这样不会变更文件的数据类型。
# 存储数据
import json
numbers = [1, 2, 3, 4, 5]
with open('num.json', 'w') as n_obj:
json.dump(numbers, n_obj)
至此,你已经学会了 Python 的基础语法,有了这些基础知识,你就应该不会为了看不懂代码而发愁了。
ps.如果想要打开新世界的大门,可以扫描下方的二维码,关注微信公众号「SuperFeng」。