Python个人学习小结

Python基本语法

数据类型

  • 浮点数:高精度
    • 10的-308次方到10的308次方之间
    • 精度数量级为10的-16次方
    • 可能会产生不确定尾数
    • round(x, d)函数:对数据x进行四舍五入运算!d为保留位数

数据运算

  • 注意两点:
  1. x/y 与 x//y的区别
1/3 = 0.3333333···
1//3 = 0#相当于c语言中的/号
  1. x**y:表示幂运算,即x的y次幂

数值运算函数

  1. int(x)的妙用
int('123') = 123#float(x)同理
complex(x)#可以将x变成复数

字符串的操作

  • 索引和切片
    • 用[::-1]来表示字符串的逆序输出
"hanbo"[::-1] == "obnah" #小技巧
  • 字符串操作符
    在这里插入图片描述
  • 字符串处理函数
    在这里插入图片描述
    在这里插入图片描述
  • 字符串使用方法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 字符串类型的格式化
  • 注意:槽中可以嵌套槽
#例如:
n = eval(input())
for i in range(1, n+2, 2):
    print("{0:^{1}}".format('*'*i, n))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

列表的操作函数

操作列表

  • 添加:.append()
  • 插入:.insert()
  • 删除(运算符):del + 列表名以及pop()删除
names.insert(0,'name') #插入
del names[0] #删除
names.pop([numbers]) #可以删除并且返回其删除的值

组织列表

  • 排序:永久排序(.sort())以及临时排序(.sorted())
  • 倒着打印列表:reverse()
  • 确定列表的长度:len()
print(sorted(names)) 
names.reverse()#只需要再次调用reverse即可恢复列表的顺序
len(names)

if 语句

  • 注意if后面的冒号不要忘记!!!
  • 检查特定元素是否位于列表中:in语句(会返回整数)。
‘name’ in names #Python会检查列表,查看是否含有name元素
  • 同理:not in 语句也有类似的功能
if user not in banned_users:
	print(user.title() + ", you can post a response if you wish.)
  • 多个条件使用if-elif-else语句来编写代码。
  • 如果有很多条件同时满足,可以用多个if语句来编写。
  • 将列表名放在if语句后,当列表中含有至少一个元素时,Python会返回Ture。

字典

  • 经典实例
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)

alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)

操作字典

  • 修改字典中的元素:
alien_0['color'] = 'yellow'
  • 删除字典中的元素
del alien_0['points']
  • 遍历字典中的元素
for name, language in favorite_language.items():
	print(name.title() + "s favorite language is " + language.title() + ".")
  • 遍历所有键(使用keys()函数),由于Python会默认输出键,所以后缀可以省略。
for name in favorite_languages.keys():
	print(name.title())
  • 遍历所有值,可以使用values()语句,方法与上面类似。
  • 字典与列表可以相互嵌套!
  • 字典之间的嵌套:
users = {#字典之间的嵌套
	'aeinstein':{
	'first': 'albert',
	'last': 'einstein',
	'location': 'prinveton';
	},

	'mcurie': {
	'first': 'marie',
	'last': 'curie',
	'location': 'paris',
	},
}
  • 字典嵌套中内部字典应该尽量使用相同的格式。

程序控制语句

分支结构

在这里插入图片描述

  • 异常处理
    在这里插入图片描述
    • 示例:
      在这里插入图片描述
      在这里插入图片描述

循环结构

  • 遍历循环
    • 可遍历结构:字符串,列表,文件,元组等
      在这里插入图片描述
  • 无限循环(while)
  • 循环的高级用法(与else结合使用)
for c in "Python":
	if c == 't':
		break
	print(c, end="")
else:
	print("正常退出")

在这里插入图片描述

用户输入和while循环

  • intput()获得的值默认为字符串型,使用int()来进行强制转换
  • break与continue语句控制循环的进程。
  • 使用while循环来修改列表,而不是if循环。

函数部分

  • 函数是可重复使用的,用来实现相关联功能的代码段。
  • 定义函数的基本结构是:
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]
  • 定义函数以def关键词开头,后面跟着函数名、圆括号()、括号中的参数、冒号;
  • 接着,在缩进块中编写函数体,函数的第一行语句一般是写文档字符串,用于存放函数说明,也可以选择不写;
  • Return[expression]表示结束函数,并返回值。而不带表达式的return相当于返回空值。
  • 函数返回值还可以是另一个函数,例如:
# 定义求和函数,返回的并不是求和结果,而是计算求和的函数
def lazy_plus(*args):
    def plus():
        s = 0
        for n in args:
            s = s + n
        return s
    return plus
# 调用函数f时,得到真正求和的结果
f = lazy_plus(1,2,3,4,5)
print(f())
  • 参数的选取与分类
# 定义一个包含必选参数、默认参数、可变参数和关键字参数的函数plus
def plus(x, y, z=0, *args, **kw):
   print('x=',x)
   print('y=',y)
   print('z=',z)
   print('args=',args)
   print('kw=',kw)
# 调用函数plus,输入两个参数1,2
plus(1,2)
  • 输出结果
x= 1
y= 2
z= 0
args= ()
kw= {}
  • 可以使必选参数为空字符串,就可以将其变为可选参数(在不知道应该输入几个参数的时候可以这样使用!)
  • 可以使用for循环或者加入*号的做法来输出列表中的元素(变换格式)
a = list(range(1, 3)
print(a)#答应格式为列表
print(*a)#下面两种等价,打印格式都为元素
for i in a;
print(i)
  • 可变参数传递
    在这里插入图片描述

  • lambda函数
    在这里插入图片描述
    在这里插入图片描述

  • 小结

  • 不同类型的参数是有顺序的,依次是必选参数、默认参数、可变参数和关键字参数。
  • 默认参数一定要用不可变对象,用可变对象容易产生逻辑错;
  • *args表示的是可变参数,*args接收的是一个元组;
  • **kw表示的是关键字参数,**kw接收的是一个字典。

标准库的使用

time库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 时间格式化
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  • 程序计时
    在这里插入图片描述
    在这里插入图片描述

random标准库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实用技巧

print(f"Hello, {username.title()}!") # 此处的f表示双引号中有格式转换!
  • 迭代器仅仅在访问到某个元素时才使用该元素,在这之前,元素可以不存在,所以迭代器很适用于迭代一些无法预先知道元素总数的巨大的集合。

注意事项

  • 如果有些bug找不出来,或许是缩进的问题。(Python对缩进要求十分严格!)
  • 注意常用’’(字符的标志)一面程序报错
  • 输出时,+用于连接字符串与字符串,连接字符串与数字应该使用逗号。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lingwu_hb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值