2023/1/20 Python基础学习笔记

主要学习了字典、集合、选择结构、循环结构(while、for)、推导式

字典:是’键值对‘的无序可变序列,字典中的每个元素都是一个’键值对‘

通过{}、dict()来创建字典对象

字典元素的访问:

1.直接通过键访问

>>> a = {'name':'gaoqi','age':18,'job':'programmer'}
>>> a['name']
'gaoqi

2.通过get访问(推荐,不会报错)

>>> a.get('name')
'gaoqi'

序列解包:就是把序列对象里的多个值一次性赋给多个变量
>>> x,y,z=(20,30,10)
>>> x
20
>>> y
30
>>> z
10
>>> (a,b,c)=(9,8,10)
>>> a
9 >
>> [a,b,c]=[10,20,30]
>>> a
10
>>> b
20
注意:
往字典里面添加新建可能导致扩容,导致散列表中键的次序变化。因此,不要在遍历字典的同时进行字典的修改。

集合:本质上就是字典的键,也可以和数学上的集合理解,不能有重复对象,也不能修改。

三元条件运算符

用来对简单双分支赋值的情况,格式:

条件为真时的值 if (条件表达式) else 条件为假时的值

num = input("请输入一个数字")
print( num if int(num)<10 else "数字太大")
多分支选择结构
score = int(input("请输入分数"))
grade = ''
if score<60 :
grade = "不及格"
elif score<80 :
grade = "及格"
elif score<90 :
grade = "良好"
elif score<=100:
grade = "优秀"
print("分数是{0},等级是{1}".format(score,grade))

多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序。

循环结构:while、for

for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下:

for 变量 in 可迭代对象

循环体语句

可迭代对象

Python 包含以下几种可迭代对象:

1. 序列。包含:字符串、列表、元组

2. 字典

3. 迭代器对象(iterator):range

4. 生成器函数(generator)

5. 文件对象

range 对象

range 对象是一个迭代器对象,用来产生指定范围的数字序列。

格式为: range(start, end [,step])

生成的数值序列从 start 开始到 end 结束(不包含 end)。若没有填写 start,则默认从 0开始。step 是可选的步长,默认为 1。如下是几种典型示例:

for i in range(10) 产生序列:0 1 2 3 4 5 6 7 8 9

for i in range(3,10) 产生序列:3 4 5 6 7 8 9

for i in range(3,10,2) 产生序列:3 5 7 9

break和continue语句:break退出当前层循环,跳到外一层循环。continue结束本次(第n)循环,进入下一次(n+1次)循环。
while和for循环的else语句:如果循环正常结束,那么执行else语句;如果循环提前结束,那么不执行else语句。

代码优化原则:

1.尽量减少循环内部不必要的计算

2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。

3. 局部变量查询较快,尽量使用局部变量

列表推导式:简洁明了,运行效率高。

目的:生成列表对象。列表推导式生成列表对象,语法如下:

[表达式 for item in 可迭代对象 ]

或者:{表达式 for item in 可迭代对象 if 条件判断}

字典的推导式生成字典对象,格式如下:

{key_expression : value_expression for 表达式 in 可迭代对象}

>>> my_text = ' i love you, i love sxt, i love gaoqi'
>>> char_count = {c:my_text.count(c) for c in my_text}
>>> char_count
{' ': 9, 'i': 4, 'l': 3, 'o': 5, 'v': 3, 'e': 3, 'y': 1, 'u': 1, ',': 2, 's': 1, 'x': 1, 't': 1, 'g': 1, 'a': 1, 'q': 1}

函数:

函数的文档字符串:不是普通的字符串,可以通过调用 help(函数名.__doc__)可以打印输出函数的文档字符串。

def print_star(n):
'''根据传入的 n,打印多个星号'''
print("*"*n)
help(print_star.__doc__)
return语句还有结束函数执行的作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值