Python重点知识笔记

切片技术

列表和元组可以通过切片很方便地取出里面的元素

data = ['小明', '小东', '小花', '456', '["东","西","南","北"]']
print(data[1:3])  # 取1-3
print(data[:])  # 取全部
print(data[:3])  # 取0-3
print(data[1:])  # 取1-最后
print(data[-3:]) # 取最后3个

断点调试

通过断点调试可以查看每一个变量的数值,对debug很有用

断点调试:在Pycharm左侧代码行数处点击左键,出现小红点,然后点击文件-debug

使用f7 调试的时候遇到方法体的时候会进入到方法体内部,每个方法依次执行
使用f8 调试的时候,遇到方法体不会进入方法内部,只会依次执行
使用f9 调试的时候,只会执行打断点的地方

序列

以下方法可以在各种可迭代对象之间转换

list() 将元组或字典转换成列表

tuple() 将列表转换成元组

zip()和dict() 将列表转换成字典

end=' ' 表示打印每句代码加间隔符,不换行

data1 = {"name": "小明", "性别": "男", "年龄": 15, "电话": [146255477, 17625437, 28173564]}
print(data1["年龄"])
for i in data1["电话"]:
    print(i, end=' ')  # end=' '加间隔符,不换行

# list() 将元组或字典转换成列表
print(list(data1))
print(list(data1.keys()))
print(list(data1.values()))
print(list(data1.items()))

# tuple() 将列表转换成元组
print(tuple(data1["电话"]))

# join() 将序列中的元素以指定的字符链接生成新的字符串,即可以将列表,元组转换成字符串
seq = ("r", "u", "n", "o", "o", "b")
s1 = "-"
print(s1.join(seq))

# zip()和dict() 将列表转换成字典
keys = ["name", "age"]
values = ["adam", 15]
data2 = dict(zip(keys, values))
print(data2)
print(list(data2.keys()))
print(list(data2.values()))

列表推导式

列表推导式可以方便地生成可迭代对象

# 列表推导式
square1 = [n * n for n in range(1, 10)]
square2 = [n * 2 + 1 for n in range(1, 10) if n % 2 != 0]
print(square1, square2)
planets = ["Mecury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
newplanet = [a.upper() for a in planets if len(a)<6]
print(newplanet)
# 列表推导式等效代码
newplanet1 = []
for a in planets:
    if len(a)<6:
        newplanet1.append(a.upper())
print(newplanet1)

字符串操作

比较重要的有split和join和格式化字符串

# 字符串操作

# spilt可以以某个字符、字符串来分割字符
words = 'Pluto is a planet'
words_split = words.split(' ')
print(words_split)

datestr='1956-01-31'
year, month, day = datestr.split("-")
print(year, month, day)

# join可以用某个字符、字符串连接列表中每个元素
print("-".join(words.split(' ')))
words_join = "-".join(words_split)
print(words_join)

# 格式化字符串:使用{}.format()的方式,把某些变量、字符串填进{}中
position = 9
planet = 'Pluto'
print("{},you will alwasy be the {}th planet to me.".format(planet,position))
print("{0},you will alwasy be the {1}th planet to me. It's {1}th".format(planet,position))

字典推导式

跟列表推导式很像,是个方便生成字典的方法

# 字典推导式
planets = ["Mecury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planet_to_initial = {planet:len(planet) for planet in planets}
print(planet_to_initial)

小结:

  1. Python区分大小写

  2. 语法不需要分号结束

  3. 对于if,while,for等控制语句要以冒号开始下面的语句,下面的语句要缩进

  4. 遍历可迭代对象用for 变量名 in 可迭代对象

  5. 列表[...]元组(...)字典{关键字:值},可以相互转换使用

  6. 变量的命名要注意避免使用Python关键字或者标识符

  7. 调试代码:

    1. 关键点多用print,以便知道变量在操作之后是什么输出结果

    2. 要看程序运行错误信息,一般是看最后面的信息。最前面是看哪一行出错

    3. Stack Overflow - Where Developers Learn, Share, & Build Careers 此网站可以解决一些疑难杂症,类似于论坛

    4. 断点调试:在代码行数左侧点击,出小红点后点文件-debug,f8逐行调试(f7会进入函数中逐行调试,f8则跳过函数调试)

  8. 切片:对列表等集合类型的数据可以成片获取([1:7]表示从索引1-6切片,[-3:-1]表示从列表后面倒数第3到最后一个)

  9. 推导式:将运算放入列表中,根据特定规则生成列表。([表达式 for 变量 in 可迭代对象 if 变量判断] 如:a = [x*x for x in range(10) if x%2!=0])

  10. 格式化字符串

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值