首页 > 编程语言 > 详细

Python学习笔记(一)

时间:2019-01-22 00:12:20      阅读:212      评论:0      收藏:0      [点我收藏+]

一、变量和简单数据类型

(一)变量

  • 变量的命名和使用
    • 变量名只能包含字母、数字和下划线。不能以数字开头。
    • 变量名不能包含空格,用下划线。
    • 不要将Python关键字和函数名用作变量名。
    • 要简短、具有描述性。
    • 小写字母l和数字1,大写字母O和数字0

(二)字符串

用引号括起的。(包括单引号、双引号)

  • 使用方法修改字符串的大小
name = may zheng
name.title() # 以首字母大写的方式显示每个单词(其他字母为小写) name.lower() # 改为全部小写 name.upper() # 改为全部大写
  • 合并(拼接)字符串
# 拼接
first_name = may
last_name = zheng
full_name = first_name +   + last_name

print(Hello,  + full_name.title() + !)
  • 使用制表符或换行符来添加空白
    • 制表符\t
    • 换行符\n
  • 删除空白
language =  python 

# 不改变变量本身内容 language.rstrip() # 删除末尾空白 language.lstrip() # 删除开头空白 language.strip() # 删除两端空白

(三)数字

加(+)减(-)乘(*)除(/),乘方(**)

  • 整数
  • 浮点数
  • 使用函数str()避免类型错误
# 将非字符串值表示为字符串
str(21)

(四)注释

  • 注释用井号(#)标识
  • 一般井号后空一格再标注

二、列表简介

(一)列表

  • 用方括号([])来表示列表,用逗号(,)分隔其中元素
  • 列表是有序集合
  • 访问列表元素,索引从0开始
fruits = [apple, banana, orange, watermelon]

print(fruits[0])    # 访问列表第一个元素,输出apple
print(fruits[-1])   # 访问列表最后一个元素,输出watermelon

(二)修改、添加和删除元素

  • 修改列表元素
fruits = [apple, banana, orange, watermelon]

fruits[0] = pineapple
print(fruits)

# 输出
[pineapple, banana, orange, watermelon]
  • 在列表中添加元素
fruits = [apple, banana, orange, watermelon]

fruits.append(pineapple)    # 在列表末尾添加元素
print(fruits)
fruits.insert(1, grape)    # 在列表索引1处插入元素
print(fruits)

# 输出
[apple, banana, orange, watermelon, pineapple]
[apple, grape, banana, orange, watermelon, pineapple’]
  • 在列表中删除元素
    • 使用del语句    
del fruits[0]    # 使用del语句删除列表任何位置处的元素,必须知道索引
    • 使用方法pop()删除末尾元素
fruits.pop()    # 弹出列表末尾的值
    • 弹出列表中任何位置处的元素
fruits.pop(0)    # 弹出列表索引0处的元素

PS:如果要从列表删除一个元素,且不再以任何方式使用它,就用del语句;如果要在删除元素后还能使用它,使用方法pop()。

    • 根据值删除元素
fruits.remove(apple)    # 知道要删除的元素的值,使用remove()删除列表元素时,也可接着使用它的值;且remove()只删除第一个指定的值,如果重复出现此值,可通过循环判断

(三)组织列表

调整列表内元素的排列顺序

  • 使用方法sort()对列表进行永久性排序
fruits.sort()    # 永久性地修改列表元素的排列顺序,按字母顺序排列的
fruits.sort(reverse=True)    # 按与字母顺序相反的顺序排列列表元素
  • 使用函数sorted()对列表进行临时排序
sorted(fruits)    # 按字母顺序显示该列表
sorted(fruits, reverse=True)    # 按与字母顺序相反的顺序显示列表
  • 倒着打印列表
fruits.reverse()    # 永久性反转列表排列顺序
  • 确定列表的长度
len(fruits)    # 使用函数len()可快速获悉列表长度

三、操作列表

(一)遍历整个列表

  • for循环
    • 注意缩进,冒号
fruits = [apple, banana, orange, watermelon]

for fruit in fruits:    # 对于临时变量,可指定任何名称(使用单复数名称很方便);打印列表中的每个元素
    print(fruit)

(二)创建数值列表

  • 使用函数range()
for value in range(1,5):
    print(value)                  # 打印数字1~4,输出不包含括号第二个值
  • 使用range()创建数字列表
    • 可使用函数list()将range()的结果直接转换为列表
numbers = list(range(1,6))
print(numbers)

# 输出
[1, 2, 3, 4, 5]
    • 使用函数range()时,可指定步长
numbers = list(range(2,11,2))    # 打印2~10中的偶数
print(numbers)

# 输出
[2, 4, 6, 8, 10]
squares = []
for value in range(1,11):
    squares.append(value**2)    # 将1~10的平方添加到列表中,平方数列表

print(squares)

# 输出
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
  • 对数字列表执行简单的统计计算
digits = list(range(0,10))

min(digits)    # 找出列表最小值
max(digits)    # 找出列表最大值
sum(digits)    # 计算数字列表的总和
  • 列表解析
squares = [value**2 for value in range(1,11)]    # 平方数列表,注意这里的for语句末尾没有冒号

(三)使用列表的一部分

  • 切片
fruits = [apple, banana, orange, watermelon]
print(fruits[0:3])    # 打印列表索引0、1、2的元素

# 输出也为一个列表
[apple, banana, orange]
print(fruits[:3])    # 没有指定第一个元素,自动从列表开头开始
print(fruits[2:])    # 打印索引2到列表末尾的所有元素

# 使用负数索引可以输出列表末尾的任何切片
print(fruits[-3:])    # 此处打印列表末尾三个元素
  • 遍历切片
  • 复制列表
# 可再创建一个包含整个列表的切片
fruits[:]    # 同时省略起始索引和终止索引

(四)元组

  • 列表适合用于存储在程序运行期间可能变化的数据集,列表是可以修改的。
  • 定义元组
    • 元组是不可变的列表,其中元素是不可修改的。
    • 使用圆括号;可以使用索引访问元组元素
digits = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
print(digits[0])
    • 不能给元组的元素赋值
  • 遍历元组中的所有值
digits = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
for digit in digits:
    print(digit)          # 使用for循环
  • 修改元组变量,即重新定义一个元组赋给原来的变量
digits = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
digits = (1, 2, 3, 4)

(五)设置代码格式

  • 格式设置指南(PEP 8)Python Enhancement Proposal 
  • 缩进,PEP 8建议每级缩进都使用四个空格(制表符可以设置为是四个空格)
  • 行长,建议每行不超过80字符;PEP 8建议注释的行长都不超过72字符。
  • 空行

四、if语句

  • 条件测试(根据条件测试的值为True或Flase来决定是否执行if语句中的代码)
#检查是否相等(==)
>>>age = 22
>>>age == 22
True

#检查是否不相等(!=) >>>age != 22 False
#比较数字(<,>,>=,<=) >>>20 > 5 True >>>20 <= 5 False
#检查多个条件(and,or) >>>20 > 5 and 20 < 6 False >>>20 > 5 or 20 < 6 True
#检查特定值是否包含在列表中(in) >>>numbers = [1, 2, 3] >>>1 in numbers True
#检查特定值是否不包含在列表中(not in) >>>2 not in numbers False
#布尔表达式,通常用于记录条件,为跟踪程序状态或条件提供高效了一种方式 game_active = True can_edit = False
  • if语句
    • 简单的if语句:一个测试和一个操作
if conditional_test:
    do something
    • if-else语句:能够指定条件测试未通过时要执行的操作
if conditional_test:
    do something
else:
    do something
    • if-elif-else结构
if conditional_test1:
    do something
elif conditional_test2:
    do something
else:
    do something
    • 使用多个elif代码块(仅适合用于只有一个条件满足的情况)
    • 省略else代码块
    • 测试多个条件
if conditional_test1:
    do something
if conditional_test2:
    do something
  • 使用if语句处理列表
    • 检查特殊元素
digits = [1, 2, 3]
for digit in digits:
    if digit == 1:
        print(digit)
    else:
        print(1)
    • 确定列表不是空的
digits = []

if digits:               # 当列表为空时返回False
    for digit in digits:
        print(digit)
else:
    print("There is nothing to print.")
    • 使用多个列表
  • 设置if语句的格式(比如在==、>=、<=等比较运算符两边添加一个空格)

五、字典

  • 定义字典
    • 字典是一系列键-值对,使用花括号{}
    • 键和值之间用冒号分隔,键-值对之间用逗号分隔
digits = {one: 1, two: 2, three: 3}

print(digits[one])
  • 使用字典
    • 访问字典中的值
    • 添加键-值对(字典是一种动态结构)
digits[four] = 4
digits[five] = 5
print(digits)

# 输出新增了两个键-值对
digits = {one: 1, two: 2, three: 3, five: 5, four: 4}    # 键-值对的排列顺序与添加顺序不同
      • 先创建一个空字典,再往空字典里添加键-值对,以这种方式创建一个字典
    • 修改字典中的值
digits[four] = ‘四’
digits[five] = 5
print(digits)

# 输出
digits = {one: 1, two: 2, three: 3, five: 5, four: ‘四’}
    • 删除键-值对
digits = {one: 1, two: 2, three: 3, five: 5, four: 4}
del digits[five]    # 永久性删除,使用del语句时必须指定字典名和要删除的键
print(digits)

# 输出
digits = {one: 1, two: 2, three: 3, four: 4}
    • 由类似对象组成的字典的格式(较大的字典)
# 在最后一个键-值对后面添加上逗号,可以为以后在下一行添加键-值对做好准备
digits = {
    one: 1,          
    two: 2, 
    three: 3, 
    four: 4,       
} 
  • 遍历字典
    • 遍历所有的键-值对
for key, value in digits.items():    # 包含字典名和方法items()
    print(key + ---> + value)
# for k, v in digits.items()  使用简单的变量名
# 输出:键-值对返回的顺序也与存储顺序不同
one--->1
three--->3
two--->2
four--->4
    • 遍历字典中所有的键
for k in digits.keys():     # 使用方法keys()返回一个包含字典中所有键对的列表
    print(k)
# for k in digits  也有相同的输出,但是不方便理解
    • 按顺序遍历字典中的所有键
for k in sorted(digits.keys()):       # 调用函数sorted()再遍历前先进行排序
    print(k)
    • 遍历字典中的所有值
for v in digits.values():     # 使用方法values()返回一个包含字典中所有值的列表
    print(v)
# 这种做法提取了字典中的所有值,没有考虑重复,如果要剔除重复项,可以使用集合(set)
for v in set(digits.values()):    # 使用函数set()返回一个不重复的列表
    print(v)
  • 嵌套(将一系列字典存储在列表中或将列表作为值存储在字典中)
    • 字典列表
# 创建一个用于存储奇数和偶数的空列表
numbers = []

# 创建奇数列表和偶数列表
odds = {one: 1, three: 3, five: 5}
evens = {two: 2, four: 4, six: 6}
numbers.append(odds)
numbers.append(evens)

for number in numbers:
    print(number)
print(len(numbers))

# 输出
{one: 1, three: 3, five: 5}
{two: 2, four: 4, six: 6}
2
    • 在字典中存储列表
numbers = {
    1: [one, ],
    2: [two, ],
    3: [three, ],
    4: [four, ],
}
for k, v in numbers.items():
    print(k + ---> + v)
    • 在字典中存储字典
numbers = {
    odd: {
        1: one,
        3: three,
        5: five,
        },

    even: {
        2: two,
        4: four,
        6: six,
        },

}

 

 

 

 

 

Python学习笔记(一)

原文:https://www.cnblogs.com/mayyzym/p/10301608.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!