助教123
'''
同学问题1:
from sys import args
变量赋值出现问题
答:
报错原因是左边接收变量和右边赋值变量数量不一致
同学问题2:
python向sql写入json数据报错
答:
需要格式化输入语句,%s
同学问题三:
jupyter中安装扩展
答:
jupyter中运行命令需要输入 !+命令
例如:!pip install pytorch
'''
学习456
注释
人的记忆终究有限,无法做到像是计算机一样一直完整无缺的长时间保存信息。特别是当程序代码很多的时候每一个变量的含义以及每一个函数的作用,都很难再一两个月后依然记住。
当代码出现bug或是需要对功能进行修改时,如果有注释将会很快进行操作。注释能够对自己做一个提示,也能在合作时仍对方容易看懂你的代码。
print("单行注释:#后面的内容不会进行执行")
# 单行注释
单行注释:#后面的内容不会进行执行
print("\"\"\"三个引号中间部分内容不会被注释,可以换行\"\"\"")
"""三个引号中间部分内容不会被注释,可以换行"""
print("\'\'\'多行注释可以是双引号也可以是单引号\'\'\'")
'''多行注释可以是双引号也可以是单引号'''
数学运算
- plus 加号 +
- minus 减号 -
- slash 斜杠 /
- asterisk 星号 *
- percent 百分号 %
- less-than 小于号 <
- greater-than 大于号 >
- less-than-equal 小于等于号 <=
- greater-than-equal 大于等于号 >=
1. 在每一行上面,写一行对代码作用解释的注释
# 求解斐波那契数列
def 斐波那契额数列(n):
'''
n:
斐波那契数列的项数
斐波那契数列为:
0, 1, 1, 2, 3, 5, 8, 13,,,,
第二项之后的每一项为前两项之后
'''
if n <=0:
print("输入有误!")
else:
a, b = 0, 1
while n -1 :
a, b = b, a + b
n -= 1
return a
斐波那契额数列(1)
0
2.浮点数计算
1.0 / 3.0
0.3333333333333333
1.0 / 3.0 + 1.0 / 3.0 + 1.0 / 3.0
1.0
字符串和文本
text = "现在是下班时间,就很开心!!!"
# 获取变量的属性,此处为字符串
type(text)
str
字符串替换
print("字符串的替换:")
print("\t" + text.replace("下班","上班").replace("开心", "不那么开心"))
字符串的替换:
现在是上班时间,就很不那么开心!!!
去除字符串两端字符
print("去除字符串两端字符!")
print("\t" + text.strip("!"))
去除字符串两端字符!
现在是下班时间,就很开心
格式化字符串
name = "张三"
age = 18
text = f"|姓名| {name} |年龄| {age} |"
print("_______________________")
print(text)
_______________________
|姓名| 张三 |年龄| 18 |
字符串连接
- 使用+号进行连接,在绝大多数时候效率会比较高
- 使用join进行连接,当有一个很大的列表中元素进行连接时。join效率显著高于+号
python语言设计之初就本着73原则,python很多人说运行效率慢,往往是没找对正确的方法。有些使用很少的需求往往都有专门的处理函数。python语言和c\rust\c++确实是慢,但易学和强大的生态体系正是我们现在学习python的原因。
text1 = "今天周五聚餐没吃饱啊!"
text2 = "明天后天可以不用上班很开心!"
print(text1 + text2)
今天周五聚餐没吃饱啊!明天后天可以不用上班很开心!
print("".join([text1, text2]))
今天周五聚餐没吃饱啊!明天后天可以不用上班很开心!
列表
列表是复合数据类型,列表中的每一个元素都可以改变。列表中的每一个元素的数据类型可以任意,意味着你可以将任何一个对象放入列表中。
列表通过下标进行索引,列表可以添加删除修改列表中的任何一个元素。
添加元素
x = list() # 定义一个空列表
for i in range(10):
x.append(i) # 向列表中添加元素
print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
添加元素到指定位置
x.insert(10, 10)
print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
删除元素
print("删除列表中指定索引位置的元素:")
x.remove(1)
print(x)
print("*" * 20)
print("删除列表中最后一个元素,并返回。")
num = x.pop() # 时间复杂度为O(1)
print("列表中最后一个元素: {%d}" %num)
print("此时列表中的元素为:")
print(x)
删除列表中指定索引位置的元素:
[0, 2, 3, 4, 5, 6, 7, 8, 9, 10]
********************
删除列表中最后一个元素,并返回。
列表中最后一个元素: {10}
此时列表中的元素为:
[0, 2, 3, 4, 5, 6, 7, 8, 9]
print("查看列表x有那些属性和方法:")
print(" | ".join(dir(x)))
查看列表x有那些属性和方法:
__add__ | __class__ | __contains__ | __delattr__ | __delitem__ | __dir__ | __doc__ | __eq__ | __format__ | __ge__ | __getattribute__ | __getitem__ | __gt__ | __hash__ | __iadd__ | __imul__ | __init__ | __init_subclass__ | __iter__ | __le__ | __len__ | __lt__ | __mul__ | __ne__ | __new__ | __reduce__ | __reduce_ex__ | __repr__ | __reversed__ | __rmul__ | __setattr__ | __setitem__ | __sizeof__ | __str__ | __subclasshook__ | append | clear | copy | count | extend | index | insert | pop | remove | reverse | sort