Python学习:一周总结
Python简介
? Python是由荷兰人吉多·范罗苏姆(Guido von Rossum,后面称呼为Guido)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编程语言。
python解释器
- CPython —> 用C语言实现的Python解释器
- JPython —> 用Java实现的Python解释器
- IronPython ----> 用C#实现的Python解释器
- PyPy ----> 用Python实现的Python解释器
说明:大多数软件的版本号一般分为三段,形如A.B.C,其中A表示大版本号,当软件整体重写升级或出现不向后兼容的改变时,才会增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。
Python优点
- 简单,结构简单,相对于其他语言来说,Python更容易上手,对新手小白更友好
- 注重开发效率而不是执行效率,能用更少的代码做更多的事情。
- 开放源代码,拥有强大的社区和生态圈。
- 易于维护,Python的成功在于它的源代码是相当容易维护的。
- 可拓展,如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
Python缺点
- 运行速度,有速度要求的话,用 C++ 改写关键部分吧。
- 构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby 由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。
Python第一个代码
print() :打印,输入
# :单行注释,可以注释掉从#开始后面一整行的内容
''' ''' :多行注释,通常用于添加多行说明性内容
"""
hello,world
Author:悾格
"""
print('hello,world!')
变量
程序是指令的集合。
写程序就是用指令控制计算机做我们想让它做的事情。
? 计算机有两个关键点:
一是要将存储设备与中央处理器分开;
二是将数据以二进制方式编码。
? 计算机是使用二进制计数的,不管什么数据到了计算机内存中都是以二进制形式存在的。
变量是数据的载体,就是一块用来保存数据的内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。
数据类型
- 整型(
int ):Python中可以处理任意大小的整数,而且支持二进制(如0b100 ,换算成十进制是4)、八进制(如0o100 ,换算成十进制是64)、十进制(100 )和十六进制(0x100 ,换算成十进制是256)的表示法。 - 浮点型(
float ):浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456 )之外还支持科学计数法(如1.23456e2 )。 - 字符串型(
str ):字符串是以单引号或双引号括起来的任意文本,比如'hello' 和"hello" 。 - 布尔型(
bool ):布尔值只有True 、False 两种值,要么是True ,要么是False 。
变量命名
- 变量名:字母(Unicode字符)、数字、下划线,不能使用特殊字符,数字不能开头
- 变量名是区分大小写的(大小写敏感,x和X是两个不同的变量名)
- 不能使用Python中的关键字(Python代码中有特殊含义的单词)和保留字(已经Python)
- 见名知意(看到变量的名字,就能知道它代表了什么意思)
- 变量的命名使用全使用小写,多个单词用下划线进行连接(Snake case)
type() 函数:用于查看数据类型
a = 123
b = 1.23
c = 'hello'
d = True
e = 2 < 1
f = 3 + 5j
print(a, type(a))
print(b, type(b))
print(c, type(c))
print(d, type(d))
print(e, type(e))
print(f, type(f))
整数的表示方式
a = 110
b = 0o110
c = 0x110
d = 0b01010101
print(a, b, c, d)
print(bin(47))
print(oct(72))
print(hex(272))
运算符
赋值运算符:右边的值赋给左边(变量) —> = += -= *= /= %= **= 算术运算符: —————————————> + - * / // * * % 复合的赋值运算符:———————> += -= *= /= … 关系运算符(比较运算符) —> > < >= <= == != ----->产生布尔值(True / False) 逻辑运算符:把两个布尔值处理成一个布尔值(做多个布尔值的组合)——————————> and(与) / or(或) / not(非)
格式化输出
a1 = float(input('a1 = '))
b2 = float(input('b2 = '))
print('%f + %f = %f' % (a1, b2, a1 + b2))
print('%f - %f = %f' % (a1, b2, a1 - b2))
print('%f * %f = %f' % (a1, b2, a1 * b2))
print('%f / %f = %f' % (a1, b2, a1 / b2))
print('%f // %f = %f' % (a1, b2, a1 // b2))
print('%f %% %f = %f' % (a1, b2, a1 % b2))
print('%f ** %f = %f' % (a1, b2, a1 ** b2))
print(f'{a1} + {b2} = {a1 + b2:.1f}')
print(f'{a1} - {b2} = {a1 - b2:.2f}')
print(f'{a1} * {b2} = {a1 * b2:.3f}')
print(f'{a1} / {b2} = {a1 / b2}')
print(f'{a1} // {b2} = {a1 // b2}')
print(f'{a1} ** {b2} = {a1 ** b2}')
print(f'{a1} % {b2} = {a1 % b2}')
运算符优先级
运算符和表达式对于任何一门编程语言都是非常重要的。
分支结构
? **顺序结构:**在初次使用python代码时,我们写的python代码都是一条一条语句按顺序执行,这种代码结构统称为顺序结构。
? **分支结构:**代码中有一条或多条执行路径,但是只有其中一条会被执行
if 语句
因此,要进行分支结构就需要使用if 语句,其中的关键字有if 、elif 、else 。这些关键字使用后需要在其后面加冒号(英文状态下的: ):
if :条件语句,通常与else使用,也可单独使用,表示选择分支
elif :在有if 前提下,使用elif 可以创建更多的分支
else :否则语句,if 语句下的另一个选择分支,不可单独使用
"""
分支结构(选择结构)的例子
代码中有多条执行路径,但是只有其中一条会被执行
admin / Admin123!!
Author:悾格
"""
username = input('用户名:')
password = input('密码:')
if username == 'admin' and password == 'Admin123!!':
print('登录成功!')
print('欢迎使用XXX系统!')
print('客服热线:400-800-8800')
else:
print('登录失败!')
print('用户名或密码错误!')
print('程序结束,再见!')
**提示:**if和else 的最后面有一个:,它是用英文输入法输入的冒号;程序中输入的’、"、=、(、)等特殊字符,都是在英文输入法状态下输入的。有很多初学者经常不注意这一点,结果运行代码的时候就会遇到很多莫名其妙的错误提示。强烈建议大家在写代码的时候都打开英文输入法(注意是英文输入法而不是中文输入法的英文输入模式),这样可以避免很多不必要的麻烦。
分段函数求值
分支结构可以嵌套使用,但一定要注意嵌套的深度,嵌套深度太深直接影响代码的可读性
代码块:保持相同的缩进的代码就属于同一个代码块
"""
分段函数求值
3x - 5, x > 1
f(x) = x + 2, -1 <= x <= 1
5x + 3, x < -1
Author:悾格
"""
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
elif x >= -1:
y = x + 2
else:
y = 5 * x + 3
print(f'f(x) = {y}')
循环结构
? 在写程序时,一定会遇到需要重复运行的代码,例如,我们在需要重复打印一串字符hello,world! 时,就需要重复输入代码,会增加代码的容量,所以在这里我们就可以使用重复结构,在结构中嵌套该语句,就可以得到我们需要的打印数量。
for in 循环
? 明确循环执行的次数,使用for in 循环.
while 循环
? 不明确循环执行的次数,就可以使用while 循环.
? while 循环通过一个能够产生或转换出bool 值的表达式来控制循环,表达式的值为True 则继续循环;表达式的值为False 则结束循环。
? 分支结构和循环结构非常重要,是构造程序逻辑的基础,一定要通过大量的练习来达到融会贯通。
容器型数据类型(用一个变量可以保存多个数据)
- 列表(list) ----> 1.元素过长时,可以进行换行缩进,不影响列表中的元素
"""
example02 - 容器型数据类型(用一个变量可以保存多个数据)
Author:悾格
"""
num = [10, 100, 1000]
rules = ['加油', '开心', '快乐', '高兴', '激动']
num.append(100)
num.insert(0, 1)
print(num)
rules.pop()
rules.pop()
print(rules)
"""
example03 - 列表的遍历(把每个元素依次取出来)
Author:悾格
"""
num = [35, 98, 12, 27, 66]
for i in range(len(num)):
print(num[i])
num[i] += 1
print(num[i])
print(num)
for x in num:
print(x)
for i, x in enumerate(num):
print(i, x)
for i in range(len(num)):
print(num[i])
num[i] = 100
print(num)
|