python特点 :
优点:(1)面向对象(OOP:多态、重载、继承)(2)代码少 (高效) (3)可移植性
缺点:(1)执行速度不够快
目 录:
a. 导入全部函数 b. 导入特定函数 c. 函数重命名 as
(1)__init__()是一个特殊的方法:根据类创建新实例时,Python自动运行
(2)继承:子类继承父类—super()是一个特殊函数,帮助Python将父类和子类关联起来
(2)测试类:先运行setUp(),再运行各个以test_打头的方法。
1、简单语法
sentence = "You be the wind in his back, not the spit in his face."
print(sentence.title()) # 首字母大写
print(sentence.upper()) # 所有字母大写
print(sentence.lower()) # 所有字母小写
a = (" python ")
print(a.strip()) # 删除空白
print(a.lstrip()) # 删除左边空白
print(a.rstrip()) # 删除右边空白
print("Languages:\n\tPython\n\tC\n\tJavaScript") # 制表符和换行
print(3 ** 3) # 次方运算
print(0.2 + 0.1) # 多位数结果0.30000000000000004
2、列表
(1)增加、删除列表元素
alphabet = ['a', 'b', 'c', 'd']
print(alphabet[-1]) # 返回列表最后一个元素
alphabet.append('e') # 列表末尾添加元素
alphabet.insert(1, 'o') # 列表位置1 添加元素
# 根据位置删除元素
del alphabet[0] # 列表删除元素(删除后无法访问)
letter1 = alphabet.pop(3) # 列表删除元素值,若括号内为空,则默认删除末尾值(删除后可访问到被删除元素的值)
# 根据值删除元素
alphabet.remove('o') # 删除的元素值(只删除第一个指定值,列表中可能有重复的值,可用循环解决)
(2)操作列表(切片、元组)
# 切片:使用列表的部分元素
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3]) # 取0 - (3-1) 位置上的元素
print(players[-3:]) # 取最后三个元素
for player in players[:3]: # 遍历3位置前(不包括3)的元素
print(player.title())
another_players = players[:] # 复制列表
print(another_players)
# 元组:不可修改元素的列表
dimensions = (200, 50) # 不可单个修改元素: dimensions[0] = 250 ×
print(dimensions) # 可以通过变量修改: dimensions = (400, 100) √
(3)排序
# 永久排序
sentence.sort() # 按首字母排列(正序)
sentence.sort(reverse=True) # 按首字母排列(逆序)
# 临时排序
print(sorted(sentence)) # 正序排序
print(sorted(sentence, reverse=True)) # 逆序排序
sentence.reverse() # 逆序输出(不排序)
len(sentence) # 列表长度
3、基本语句
(1)循环语句
a. 函数range()随机创造数字列表
b. 使用break(退出循环)和continue(结束当前循环开始下一循环)时后面不用加符号
c. for循环不修改列表(难以跟踪修改元素); while循环可以修改列表
magicians = ['alice', 'david', 'carolina']
for magician in magicians: # magician临时变量
print(magician)
for value in range(1, 10, 2): # value是数字,数字值是在1-9每隔两位选,1 3 5 7 9
print(value)
numbers = list(range(1, 6)) # numbers是列表
numbers = [8, 3, 7, 2, 5, 1, 9, 4, 6]
print(min(numbers)) # 最小值
print(max(numbers)) # 最大值
print(sum(numbers)) # 求和
# 列表解析(注意for后面没有“:”)
squares = [value**2 for value in range(1,11)] # 结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print(squares)
# while循环
# (1)列表之间移动元素
unconfirmed_users = ['alice', 'brian', 'candace'] # 未验证用户逐个验证,验证后逐个添加到已验证用户列表
confirmed_users = []
while unconfirmed_users:
current_user = unconfirmed_users.pop() # 默认删除并取末尾元素
print("Verifying user: " + current_user.title())
confirmed_users.append(current_user) # 列表添加元素
print(unconfirmed_users)
print(confirmed_users)
# (2)删除特定值
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
while 'cat' in pets:
pets.remove('cat')
(2)条件语句
# 条件语句(if elif else后面都有“:”)
age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
else: # else可以没有
price = 10
print("Your admission cost is $" + str(price) + ".")
age_0 >= 21 and age_1 >= 21 # 全部满足条件
age_0 >= 21 or age_1 >= 21 # 只需要满足其中一个条件
requested_toppings = ['mushrooms', 'onions', 'pineapple']
print('mushrooms' in requested_toppings) # 判断列表元素的存在(不包含:not in)
4、字典—键值对
(1) 字典的基本操作
alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0)
alien_0['x_position'] = 0 # 1、字典添加信息
alien_0['y_position'] = 25
alien_0['color'] = 'yellow' # 2、字典修改信息
del alien_0['points'] # 3、字典删除信息(永远消失)
user_0 = {
'username': 'efermi', # 类似对象组成的字典
'first': 'enrico',
'last': 'fermi',
'nickname':'efermi'
}
for key, value in user_0.items(): # 遍历字典键值对(键—值对的返回顺序也与存储顺序不同)
print("Key: " + key + " ""Value: " + value + "\n")
for key in user_0.keys(): # 遍历字典所有键
print(key)
for user in sorted(user_0.keys()): # 按顺序遍历字典中的所有键sorted临时排序
print(user.title())
for value in user_0.values(): # 遍历字典所有值(未考虑重复值)
print(value)
for value in set(user_0.values()): # 遍历字典所有值,用集合(set)剔除重复值
print(value)
(2)嵌套
# 1、列表嵌套字典
aliens = [] # 创建一个用于存储外星人的空列表
for alien_number in range(30): # 创建30个绿色的外星人
new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
aliens.append(new_alien)
# print(aliens[0]) # 测试创建是否成功
print("Total number of aliens: " + str(len(aliens))) # 显示创建了多少个外星人
# 2、字典嵌套列表
favorite_languages = {
'jen': ['python', 'ruby'],
'sarah': ['c'],
'edward': ['ruby', 'go'],
'phil': ['python', 'haskell'],
}
for name, languages in favorite_languages.items():
print("\n" + name.title() + "'s favorite languages are:")
for language in languages:
print("\t&#