Python入门笔记
about python
特点:优雅简约
优点:
1.首选是网络应用,包括网站、后台服务等等;
2.其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;
3.另外就是把其他语言开发的程序再包装起来,方便使用。
缺点:
- 运行速度慢(解释型语言)
- 不能加密
哈哈严谨老廖
一、基础
0.有趣的小入门
import this # python的一些理念
import keyword
keyword.kwlist #列出关键字,当前版本下可用的所有关键字
python之禅翻译
>>>import this
The Zen of Python, by Tim Peters
#Python之道 Tim Peters
Beautiful is better than ugly.
#美好胜于丑陋
Explicit is better than implicit.
#清楚胜于含混
Simple is better than complex.
#简明胜于复杂
Complex is better than complicated.
#复杂胜于晦涩
Flat is better than nested.
#平直胜于曲折
Sparse is better than dense.
#疏散胜于密集
Readability counts.
#重在易读
Special cases aren't special enough to break the rules.
#遵守规则,概莫能外
Although practicality beats purity.
#纵然实践会击败真理
Errors should never pass silently.
#错误却万不容姑息
Unless explicitly silenced.
#除非心意已冷
In the face of ambiguity, refuse the temptation to guess.2
#疑窦丛生,拒绝猜测
There should be one-- and preferably only one --obvious way to do it.
#宁折不弯,探寻正道
Although that way may not be obvious at first unless you're Dutch.
#路漫漫其修远兮,吾将上下而求索
Now is better than never.
#悟以往之不谏,知来者之可追
Although never is often better than *right* now.
#前路不明,似应放弃
If the implementation is hard to explain, it's a bad idea.
#晦涩难懂,弃之可也
If the implementation is easy to explain, it may be a good idea.
#简明易懂,方可存留
Namespaces are one honking great idea -- let's do more of those!
#命名空间,多多益善
1.自动生成注释
防止中文乱码
当前时间
名字
编译器
注意: 区分大小写
#-*- codeing = utf-8 -*-
#@Time : ${DATE} ${TIME}
#@Author : Scarlett
#@File : ${NAME}.py
#@Software : ${PRODUCT_NAME}
2.注释
# 我是单行注释
'''
我
是
多行注释
'''
3.格式化输出
4.算术运算符
以a = 10, b = 21为例
#//也有一个好玩的名,叫地板除
5.数据类型和变量
‘’’…’’'的格式表示多行内容
变量
python 是弱类型语言,相对于强类型语言,它不需要声明变量的类型。
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言
变量范围
Python的整数没有大小限制
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)
字符串
在字符串前加r,表示直接显示,不进行转义
字符串的常用操作
list vs tuple
list列表
-
Python内置的一种数据类型
-
list是一个可变的有序表
-
索引从0开始
-
列表名.append('内容')
往list中追加元素到末尾,作为整体加入
列表名.insert(n,'内容')
把元素插入到索引为n处
列表名.expend(内容)
拆开,每部分依次加入
列表名.pop()
删除list末尾的元素
列表名.pop(i)
删除list索引为i的元素
列表名.remove("内容")
删除首次出现的该内容
简单应用
products = [["iphone", 6888], ["MacPro", 14800], ["小米", 2499], ["Coffee", 31],
["Book", 60], ["Nike", 699]]
id = input()
a = []
while id != 'q':
a.append(products[int(id)][0])
id = input()
print(a)
tuple
[tjʊpəl; ˈtʌpəl](ta二声pao一声
- tuple一旦初始化就不能修改,但可以包含可变对象,eg list
- 如果tuple只有一个元素,必须加逗号
t1 = (1, [2, 3])
t2 = ('a',)
disc
set集合
可用来去重
常用操作
####四种比较
6.条件判断
以猜拳游戏为例
import random
finger1 = random.randint(0,2);
finger2 = random.randint(0,2);
if finger1 == finger2 :
print('打平')
print('我能输吗')
elif finger1 == (finger2 + 1) % 3 :
print('小甲赢了')
else :
print('小乙赢了')
7.循环判断
for循环
for i in range(0, 13, 3) : # 从0到12,步长为3,python中的范围通常是左闭右开的
print(i, end = "\t")
print();
s = 'tomorrow'
for x in s :
print(x, end = ' ')
print();
a = ["aa", "bb", "cc"]
for x in range(len(a)):
print(x, a[x])
while循环
以从1到100求和为例
n = 1
sum = 0
while n < 101 :
sum += n
n += 1
else :
print("计算完毕啦")
print(sum)
8.文件操作
访问模式
open(文件名,访问模式)
rename(文件名, 新的文件名) 重命名
9.异常
try:
print(0)
f = open("test.txt", "r")
try:
print(t)
print(1)
finally:
f.close()
print("close file")
except (NameError, IOError) as result:
print(result)
简单应用之拷贝古诗
f = open("poem.txt", "w", encoding = 'utf-8')
f.write('''
岱宗夫如何,齐鲁青未了。
造化钟神秀,阴阳割昏晓。
荡胸生曾云,决眦入归鸟。
会当凌绝顶,一览众山小。
''')
f.close()
f = open("poem.txt", "r", encoding = 'utf-8')
c = open("copy.txt", "w", encoding = 'utf-8')
content = f.readlines()
for x in content :
c.write(x)
f.close()
c.close()
二、进阶
#未完待续