Python学习笔记(一)

一.python的介绍与工具

1.python的背景.
Python的作者,Guido von Rossum(吉多·范·罗苏姆,中国Python程序员都叫他 龟叔),荷兰人。1982年,龟叔从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。早期的个人电脑配置很低,因此每一位开发人员都恨不得榨干电脑上的最后一块内存,龟叔希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。ABC语言也算是龟
Python这个名字,来自龟叔所挚爱的电视剧Monty Python's Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

2.python的介绍
Python目前有两个版本,Python2和Python3
优点
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!
易学:就如同你即将看到的一样,Python极其容易上手。
免费、开源:Python是FLOSS(自由/开放源码软件)之一。龟叔像一个善良的独裁者管理这这个王国。
高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
解释型语言:Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
丰富的库:Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。我相信这也是很多人爱python的原因,也是与其他主流语言相比的优势所在。
规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。格式化的书写让python看起来更美。
缺点
运行速度慢:运行速度慢是解释型语言的通病,Python 也不例外。
代码加密困难:不像编译型语言的源代码会被编译成可执行程序,Python 是直接运行源代码,因此对源代码加密比较困难。

薄见:涉世未深,就我看来Python在语言中更像是艺术品,强制的规范化书写让python看起来更美,没有C的那种繁重和复杂,也没有java那么重的商业气质,人生苦短,我选python,人生即使又甜又长,我也还是会选python。

3.python的工具
我觉得别的开发工具对于开发python都比不上pycharm,至于用记事本手打代码我还没达到那种等级。

PyCharm是唯一一款专门面向Python的全功能集成开发环境,同样拥有付费版和免费开源版,PyCharm不论是在Windows、 Mac OS X系统中,还是在Linux系统中都支持快速安装和使用。
PyCharm直接支持Python开发环境,打开一个新的文件然后就可以开始编写代码,也可以在PyCharm中直接运行和调试Python程序,它还支持源码管理和项目,并且其拥有众多便利和支持社区,能够快速掌握学习使用!
链接:https://www.jetbrains.com/pycharm/

二.Python学习

1.我的第一行代码

2.输出-print()
<1>普通输出
print('hello world')

<2>格式化输出
age = 22
name = "小明"
print("我的姓名是%s, 年龄是%d" % (name, age))

<4>常用的格式符号

<5>换行输出
print("1234567890-------") # 会在一行显示
print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------

3.输入-input()
a = input()

4.If-else判断语句
<1>if
if 要判断的条件:
条件成立时,要做的事情
Demo_1:
age =22
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")

<2>if-else
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
...(省略)...
Demo_1:
Happy = 1 # 用1代表开心,0代表不开心
if Happy == 1:
print("我很开心")
print("我吃饱了,美滋滋~~~")
else:
print("我不开心")
print("我好饿啊!")
Demo_2:
print("我很开心") if Happy == 1 else print("我不开心")

<3>if-elif
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
Demo_1:
score = 77
if score>=90 and score<=100:
print('本次考试,等级为A')
elif score>=80 and score<90:
print('本次考试,等级为B')
elif score>=70 and score<80:
print('本次考试,等级为C')
elif score>=60 and score<70:
print('本次考试,等级为D')
elif score>=0 and score<60:
print('本次考试,等级为E')

5.比较和关系运算符
<1>比较运算符

<2>逻辑运算符

6.循环
<1>while循环的格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
Demo_1:
i = 0
while i < 5:
print("当前是第%d次执行循环" % (i + 1))
print("i=%d" % i)
i+=1
结果:
当前是第1次执行循环
i=0
当前是第2次执行循环
i=1
当前是第3次执行循环
i=2
当前是第4次执行循环
i=3
当前是第5次执行循环
i=4
Demo_2:九九乘法表
i = 1while i<=9:
j=1
while j<=i:
print("%d%d=%-2d " % (j, i, ij), end = '')
j+=1
print('\n')
i+=1
结果:

<2>for循环格式
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
Demo_1:
name = 'itheima'
for x in name:
print(x)
运行结果如下:
i
t
h
e
i
m
A
Demo_2:
for i in range(5):
print(i)
结果:
0
1
2
3
4

<3>break/continue
break的作用:立刻结束break所在的循环
continue的作用:用来结束本次循环,紧接着执行下一次的循环
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用

7.字符串、列表、元组、字典
<1>字符串
b = "hello itcast.cn"
或者
b = 'hello itcast.cn'
双引号或者单引号中的数据,就是字符串
<2>切片

Demo_1:

a = "abcdef"
a[:3]
'abc'
a[::2]
'ace'
a[5:1:2]
''
a[1:5:2]
'bd'
a[::-2]
'fdb'
a[5:1:-2]
'fd'

<3>列表
namesList = ['lilei','hanmeimei','rurenjia']

testList = [1, 'a']
Demo_1:打印列表
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
print(namesList[0])
print(namesList[1])
print(namesList[2])
结果:
xiaoWang
xiaoZhang
xiaoHua

<4>列表的循环遍历
(1) 使用for循环
为了更有效率的输出列表的每个数据,可以使用循环来完成
demo:
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
print(name)
结果:
xiaoWang
xiaoZhang
xiaoHua

(2) 使用while循环
为了更有效率的输出列表的每个数据,可以使用循环来完成
demo:
namesList = ['xiaoWang','xiaoZhang','xiaoHua']

length = len(namesList)

i = 0

while i<length:
    print(namesList[i])
    i+=1

结果:
xiaoWang
xiaoZhang
xiaoHua

<5>元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

aTuple = ('et',77,99.9)>>> aTuple
('et',77,99.9)

<6>字典
变量info为字典类型:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
说明:
字典和列表一样,也能够存储多个数据
列表中找某个元素时,是根据下标进行的
字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值
Demo_1:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
print(info['name'])
print(info['address'])
结果:
班长
地球亚洲中国北京

(1)修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

(2)添加元素
变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素。

(3)删除元素
对字典进行删除操作,有一下几种:
del
clear()

第一次的博客算是自己的学习记录,文笔很稚嫩,至少我开始了!

posted @ 2020-11-11 21:07  Darius_Sun  阅读(111)  评论(0)    收藏  举报