Python 学习笔记(第一周)
来源:互联网 发布:cocos2dx三消游戏源码 编辑:程序博客网 时间:2024/06/07 05:16
一 hello World
#!/usr/bin/env python或者#!/usr/bin/pythonprint("Hello World!")
Python 是解释型语言,执行时需要让系统了解是用哪种解释器哪种格式解析文件,所以要加#!/usr/bin/python
这两种写法都行,但是推荐第一种,优点是可以全局搜索python环境变量,防止python安装在其他目录使用道其他版本python。
二 变量
python name = "hello world!"shell name="hello world!"c++ String name = "hello world!"
Python 定义变量无需定义数据类型
变量定义规则:
数字/字母/下划线 任意组合
数字不能开头
不能包含关键字
约定规则:
下划线隔开单词或者驼峰
三 编码
显示告诉Python解释器用什么编码来执行代码。
Python3默认支持Unicode编码,所以默认支持中文,字符两个字节表示。但是Python2没有默认支持Unicode,所以没有默认支持中文,需要先解码,需要添加字符集。
如果在文件开头加上如下语句,可以把文件转成UTF-8编码。
# -- coding: utf-8 --
存一个英文字符1个字节ascii
存一个汉子字符2个字节 unicode
Unicode兼容GBK2312和UTF-8,但是GBK2312和 UTF-8互不兼容,不能直接互转,需要把Unicode当媒介,从GBK2312转Uniclde再从UNicode转GBK2312
四 交互
input() ——Python3
raw_input()—-Python2
两个函数功能完全一样。
格式化输出:
print(” %s %d %f ” % (var1,var2,var3))
—%s: string
—%d: integer
—%f:float
Python是强类型语言,类型转换方法:类型(var)
如:int(var)
打印数据类型 print(type(var))
五 循环
while循环
while True: passelse: pass
for循环
for i in range(x): pass
六 python库路径
import sysprint(sys.path)
[‘/home/justin18chan/PycharmProjects/untitled/sys.py’] 1 2 3
‘/usr/lib/python35.zip’, ‘/usr/lib/python3.5’, ‘/usr/lib/python3.5/plat-x86_64-linux-gnu’, ‘/usr/lib/python3.5/lib-dynload’, ‘/usr/local/lib/python3.5/dist-packages’, ‘/usr/lib/python3/dist-packages’
orprint(sys.argv,1,2,3) #打印当前文件带参数绝对路径/usr/bin/python3.5 /home/justin18chan/PycharmProjects/untitled/sys.py
Python相关环境变量,import导入相关库时,会到这些目录当前路径去寻找,然后去全局变量路径寻找。
其中,一般Python标准库放在/usr/lib/pythonx.x/目录下,
七模块导入
创建文件名不能与已有模块名重名,导入模块时,会首先到当前路径寻找模块,保存文件名如果与要导入模块名一样,会寻找当前文件,导致错误。
1. sys模块
2. os模块
import oscmd_res = os.system("du -h") # 调用系统命令,不保存结果print(cmd_res)
4.0K ./.idea/inspectionProfiles36K ./.idea44K .0 #返回值是0,原因是调用os.system(),输出直接打印到屏幕,返回值并不是内容而是返回直接成功与否的结果。
cmd_res = os.popen("du -h")# 调用系统命令popen,可以保存数据print(cmd_res)<os._wrap_close object at 0x7ff4f88abeb8> #返回数据保存对象地址cmd_res = os.popen("du -h").read()# 返回对象调用read()函数取数据print(cmd_res) #打印保存数据4.0K ./.idea/inspectionProfiles36K ./.idea44K .
八 运算
- 三元运算
x = a if a>b else b
格式可以这样看x = a if (a > b) else b
如果 a> b 则 x = a
如果 a
>>>'€20'.encode('utf-8')b'\xe2\x82\xac20'>>> b'\xe2\x82\xac20'.decode('utf-8')'€20'
注意可以使用encode(编码类型)和decode(解码类型)进行编解码,默认使用utf-8。
九 列表
基本操作:
索引切片追加删除长度切片循环包含
列表与切片
names = ["ZhangYang","Guyun","Xiangpeng"]#注意:使用列表list存储字串,需要用引号包含起来。print(names)print(names[0])print(names[1:3])#注意:列表切片,索引原则顾头不顾尾print(names[-1])#注意:-号表示从后开始数,-1即表示最后一个数print(names[-1:-3])print(names[-3:-1])#注意:上面两个的输出不同,列表取值是从左边往右边取,所以从-3到-1print(names[-3:])#注意:如果要取到最后一个数,直接使用:表示就可以。`这里写代码片`
['ZhangYang', 'Guyun', 'Xiangpeng']ZhangYang['Guyun', 'Xiangpeng']Xiangpeng[]['ZhangYang', 'Guyun']['ZhangYang', 'Guyun', 'Xiangpeng']
print("插入方法演示")print(names)names.append("Chenzhonghua")print(names)#注意:追加append到列表末尾names.insert(1,"Xiedi")print(names)#注意:插入使用insert(index,"插入内容")print("删除方法演示")print(names)names.remove("Chenzhonghua")print(names)#注意:删除方法1 remove("删除内容“)del names[1]print(names)#注意:删除方法2 del var[index]names.pop(1)print(names)#注意:删除方法3 pop(index) 弹栈方式,不加参数默认弹出最后一个
插入方法演示['ZhangYang', 'Guyun', 'Xiangpeng']['ZhangYang', 'Guyun', 'Xiangpeng', 'Chenzhonghua']['ZhangYang', 'Xiedi', 'Guyun', 'Xiangpeng', 'Chenzhonghua']删除方法演示['ZhangYang', 'Xiedi', 'Guyun', 'Xiangpeng', 'Chenzhonghua']['ZhangYang', 'Xiedi', 'Guyun', 'Xiangpeng']['ZhangYang', 'Guyun', 'Xiangpeng']['ZhangYang', 'Xiangpeng']
names1=[["Bbabi","Mesi"],"ZhangYang","Guyun","Xiangpeng"]names2=["Chenzhonghua"]names1.extend(names2)#注意:归并两个变量,names2不会被删除。names3=names1.copy()#注意:这里的copy是浅拷贝,只拷贝第一层。names1[1]="张阳"names1[0][1]="Cluo"print(names3)print(names1)#注意:由于是浅拷贝,其实拷贝的是内存地址。
[['Bbabi', 'Cluo'], 'ZhangYang', 'Guyun', 'Xiangpeng', 'Chenzhonghua'][['Bbabi', 'Cluo'], '张阳', 'Guyun', 'Xiangpeng', 'Chenzhonghua']
- Python 学习笔记(第一周)
- Python学习笔记[第一周]
- Python学习(第一周)
- Python网络爬虫学习笔记(第一周)
- 学习python第一周
- python学习第一周
- 第一周学习笔记
- machine learning学习笔记(第一周)
- Python学习第一周-知识点
- 实习第一周(第一天)(安装linux,学习python)
- Andrew学习笔记--第一周
- 机器学习第一周笔记
- 第一周+周三学习笔记
- python一周速成学习笔记
- MATLAB学习笔记 学习总结归纳(第一周)
- 用Python玩转数据第一周学习笔记のPython基础
- 《机器学习》学习笔记-第一周
- Coursera机器学习第一周学习笔记
- 使用snapshots迁移网站后,外网打不开的问题解决办法
- 6、树莓派音频——netjack2低延迟网络音频传输设置
- robot_localization Package 参考(1)
- git 报错——ssh_exchange_identification: read: Software caused connection abort
- jquery源码分析之html标签匹配(rsingleTag.js)
- Python 学习笔记(第一周)
- Ant 标签详解
- -HMK 2 for NOIP(30/100) 多刷题多刷题!!!
- Redis第一天
- RocketMq案例,生产者,消费者,消息订阅
- java异常处理Exception
- RocketMQ特性、专业术语(Producer,Producer Group,Consumer Group,Topic,Message,Tag,Broker,Name Server)等
- 必知必会的RocketMQ消息类型
- win10 + GTX 1050 + Anaconda3.4.2.0 + tensorflow-gpu(0.12.0rcl)安装总结与问题解决