python初学--day1
第一个PYTHON代码
交互式编程它不需要创建脚本文件,是直接通过 Python 的解释器的交互模式进来编写代码。如下图所示(win7操作)
下图为一个Python代码内部执行图,可以有助于理解python整个过程
1 C:\Users\miao>python -V 2 Python 2.7.10 3 4 C:\Users\miao>python 5 Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on wi 6 n32 7 Type "help", "copyright", "credits" or "license" for more information. 8 >>> print 'Hello,World!' 9 Hello,World! 10 >>>exit()
通过创建脚本文件,先编译一个文本文件,文件后缀名为.py (注:txt结尾的文件也是可以运行的,但是它在运行后不会生成pyc格式的文件,这样的话如果用户想调用这个程序就不能了)
.pyc速度快,如果.py内容修改,则先执行.py.然后生成.pyc执行
编写内容如下:
1 #!/usr/bin python 2 #-*- coding:utf-8 -*- 3 4 print 'hello,world' 5 print '你好,世界!'
执行结果如下:
1 E:\软件\python\class_test\days1>python hello.py 2 hello,world 3 你好,世界!
python引导\注释
Python 中字符串可以使用单引号( ' ) ,双引号( " ),三引号(''' ''') 来表示,引号的开始与结束必须使用相同的类型。
其中三引号也可以做为注释使用。
1 #!/usr/bin python 2 #-*- coding:utf-8 -*- 3 4 print 'hello,world' 5 print "hello,world" 6 7 ''' 8 print '你好,世界!' 9 '''
执行结果如下:
1 E:\软件\python\class_test\days1>python hello.py 2 hello,world 3 hello,world
从上面可以看出因为我们注释掉了"你好,世界!",所以程序在执行时,没有把它打印出来
三个引号也可以做为换行使用,如下:
1 >>> print ''' 2 ... a 3 ... b 4 ... c 5 ... d 6 ... ''' 7 8 a 9 b 10 c 11 d 12 13 >>>
字节码
三种编码类型:ASCII,UNICODE,UTF-8
PYTHON3.0以前默认使用ASCII,如果里面含有汉字,我们在写代码时,可以在上面顶行写一个编码声明:
# -*- coding:utf-8 -*-
PYTHON3.0以后,默认使用UTF-8
变量声明与赋值
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 name = "alex"
如下面这个例子:
1 >>> name1='wupeiqi' 2 >>> name2=name1 3 >>> name1 4 'wupeiqi' 5 >>> name2 6 'wupeiqi' 7 >>> name1='123' 8 >>> name1 9 '123' 10 >>> name2 11 'wupeiqi' 12 >>>
变量name1,我们赋予它值'alex'后,它会在内存中开辟一块区域用来存储这个字符串,如果我把变量name2的值赋予name1,虽然它们的结果是一样的,其实它们应该在内存是两块区域,只是PYTHON对它们进行了一个优化,设了一个共享池,它会把同样的值,用的频率高的值放到一个小池子里,方便用户对它的调用.而不用每次读取磁盘.同时还可以加快响应速度
用户交互
这里用到一个参数:raw_input,我们来看下面的例子
1 #!/usr/bin env python 2 #-*- coding:utf-8 -*- 3 4 name = raw_input("请输入用户名: ")
我们执行这个文件,看一下结果
1 E:\软件\python\class_test\days1>python flow_control_1.py 2 请输入你的名字: 你好
模块调用
import
看如下两个例子:
例一:#!/usr/bin env python #-*- coding:utf-8 -*-import sys #捕获参数 print sys.argv执行 E:\软件\python\class_test\days1>python capture_parameter.py localhost:8001 ['capture_parameter.py', 'localhost:8001']例二: #!/usr/bin python #-*- coding:utf-8 -*-import getpass pwd = getpass.getpass(">>>") print pwd执行 E:\软件\python\class_test\days1>python capture_parameter.py >>> 123E:\软件\python\class_test\days1>python capture_parameter.py >>> wo de mi ma
流程控制
用的两个判断语句:if ... else
if ... elif ....elif...else
可以参考如下两个例子:
例一: #!/usr/bin env python #-*- coding:utf-8 -*-if name == 'alex': print '你猜对了' else:print '你输入的是啥啊?' 例二: #!/usr/bin env python #-*- coding:utf-8 -*-#if else name = raw_input("请输入你的名字: ") if name == 'eric':print '普通' elif name == 'tony':print '超级' elif name == 'alex':print '超神' else:print '你输入错误'
1 >>> name = 1314 2 >>> print type(name) 3 <type 'int'> ===>整型 4 >>> name = 1.314 5 >>> print type(name) 6 <type 'float'> ===>浮点型 7 >>> 1=2 8 File "<stdin>", line 1 9 SyntaxError: can't assign to literal 10 >>> name1 =5 11 >>> name2 = 6 12 >>> name1 < name2 13 True ===>布尔值 14 >>> name1 > name2 15 False
2.集合
name_list = ['alex','seven','eric'] 或 name = list( ['alex','seven','eric'] ) 例如: >>> name_list[0] 'alex' >>> name_list[-1] 'eric'
1 >>> name = ['wo','ai','ni'] 2 >>> print type(name) 3 <type 'list'> ===>列表
-----元组
4 >>> ages = (11,22,33) 5 >>> print type(ages) 6 <type 'tuple'> ===>元祖
-----字典、 哈希表
每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
1 #!/usr/bin/env python 2 #-*- utf-8 -*- 3 4 person = {'name':'alex','age': 18,'gender': 'erci'} ---->字典里面一个元素 .每一个元素都是由一个键值对组成 5 6 person['age'] = 20 ---》修改字典 7 person['love'] = 'women' ---》添加字典键值对 8 del person['name'] ---》删除字典键值对 9 10 print 'age is:',person['age'] 11 print 'love is:',person['love'] 12 print person
结果如下:
1 E:\软件\python\class_test\days1>python dict.py 2 age is: 20 3 love is: women 4 {'gender': 'erci', 'age': 20, 'love': 'women'}
字符串格式化
%s:字符串 %d:数字
例子如下:
1 name = 'i am %s' % 'alex' 2 方式一: 3 >>> name = 'i am %s,age %d' %('alex',63) 4 >>> name 5 'i am alex,age 63' 6 方式二: 7 >>> name = 'i am %s,age %d' 8 >>> name %('alex',76) 9 'i am alex,age 76' 10 方式三: 11 >>> name = 'i am {0},age{1}' 12 >>> name.format('alex',73) 13 'i am alex,age73'
方式一与方式二是一样的,方式一执行时实际调用的是方式三.
字符串是一个字符数组
索引(也叫下标)
我们先看一下这个例子:
1 >>> name = 'alex' 2 >>> name[0] 3 'a' 4 >>> name[1] 5 'l' 6 >>> name[2] 7 'e' 8 >>> name[3] 9 'x' 10 >>> name[1:3] --> 这个3是不包含3的,是小于3的,<3 11 'le' 12 >>> name[0:] --> 表示到结尾 13 'alex' 14 >>> name[1:] 15 'lex' 16 >>> name[-1:] -->负1表示最后一个 17 'x'
查看一个字符串的长度:print len(name)
注意:下标是从0开始
去除空格
我们这里用到这个strip参数,直接看下面的例子:
1 print name.strip() -->去掉两头空格 2 print name.lstrip() -->去掉左边空格 3 print name.rstrip() -->去掉右边空格 4 例如: 5 >>> print name.strip() 6 alex 7 >>> print name.lstrip() 8 alex 9 >>> print name.rstrip() 10 alex
列表增加元素的方法
定义:列表1 name_list1= ['alex','seven','eric']
定义:列表2 name_list2 =name_list1
1 >>> name_list1= ['alex','seven','eric'] 2 >>> name_list2 = name_list1 3 >>> name_list1 4 ['alex', 'seven', 'eric'] 5 >>> name_list1.append('miao') 6 >>> name_list1 7 ['alex', 'seven', 'eric', 'miao'] 8 >>> name_list2 9 ['alex', 'seven', 'eric', 'miao']
通过上面我们可以看到:列表是可以增加的,并且列表2会随着列表1的变化而变化.而字符串是和这个不同的
分割与合成
我们这里用一个参数split和join,例子如下:
1 >>> name = 'zhongsguo' 2 #把字符串分割成列表 3 >>> name.split('s') 4 ['zhong', 'guo'] 5 >>> name1 = name.split('s') 6 >>> name1 7 ['zhong', 'guo'] 8 #把列表合并成字符串 9 >>> name2 = '_'.join(name1) 10 >>> name2 11 'zhong_guo'
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 name_list = ['alex', 'xiaoyueyue', 'wenqiang'] 5 for ele in name_list: 6 print ele
二、加if条件的循环
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 name_list = ['alex', 'xiaoyueyue', 'wenqiang'] 5 for ele in name_list: 6 if ele == "xiaoyueyue": 7 print "find"
三、如果我们要中断跳出整个循环,可以用break
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 name_list = ['alex', 'xiaoyueyue', 'wenqiang'] 5 for ele in name_list: 6 if ele == "xiaoyueyue": 7 print "find" 8 break
四、如果我们要跳出当前条件的for循环,可以用continue
1 name_list = ['alex','yue','xiang'] 2 for ele in name_list: 3 if ele == 'qyue': 4 print '找到你了' 5 continue --->如果第一个没有找到,重新开始执行找第二个 6 if ele == 'alex': 7 print 'sp' 8 break
五、if...elif...else...嵌套循环
1 #!/usr/bin env python2 #-*- coding:utf-8 -*-3 4 name1 = 'alex'5 name2 = 'eric'6 test = raw_input("请输入你的名字: ") 7 8 if test == name1: 9 print '你输入的名字是:',name1 10 elif test == name2: 11 print '你输入的名字是:',name2 12 else: 13 print '你输入的是啥啊?'
结果如下:
1 E:\软件\python\class_test\days1>python flow_control_1.py2 请输入你的名字: eric3 你输入的名字是: eric4 5 E:\软件\python\class_test\days1>python flow_control_1.py6 请输入你的名字: miao7 你输入的是啥啊? 8 9 E:\软件\python\class_test\days1>python flow_control_1.py 10 请输入你的名字: alex 11 你输入的名字是: alex
基本的文件操作
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 5 file_obj = open('E:\软件\python\class_test\days1\log.txt', 'r+') 6 line_list = file_obj.readlines() 7 my_list =[] 8 for ele in line_list: 9 line = ele.strip() 10 value_list = line.split(',') 11 last_value = int(value_list[-1]) 12 last_value += 1 13 value_list[-1] = str(last_value) 14 value_str = ','.join(value_list) 15 my_list.append(value_str) 16 my_str = '\n'.join(my_list) 17 file_obj.seek(0) 18 file_obj.write(my_str) 19 #file_obj.flush() 20 file_obj.close()
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 5 file_obj = file('E:\软件\python\class_test\days1\log.txt', 'r') 6 7 #print file_obj.readlines(),#将文件内容赋值给变量line_list 8 line_list = file_obj.readlines() 9 #新建一个列表,用来存放转换后结果 10 my_list =[] 11 12 for ele in line_list: 13 # 把line_list中的值去掉空格,然后赋给变量line 14 line = ele.strip() 15 #对line里面的内容,通过,分割成列表 16 value_list = line.split(',') 17 #对列表value_list切片取最后值,为了确保无误,我们对取值后的结果转换成整型 18 last_value = int(value_list[-1]) 19 #按照要求加1 20 last_value += 1 21 #把加1后的列表last_value内容重新软件成字符串 22 value_list[-1] = str(last_value) 23 #我们通过合并参数join,用,把字符串转换成列表,并赋给变量value_str 24 value_str = ','.join(value_list) 25 #因为我们有好多行内容,所以把每次转换后的结果追加存入列表my_list中,方便直接调用 26 my_list.append(value_str) 27 #因为我们原来文件中的内容一行一条信息,所以我们新加入的信息加入换行符,并赋给变量my_str 28 my_str = '\n'.join(my_list) 29 #把最后更新的结果写入文件中 30 file_obj.write(my_str) 31 #清空缓存 32 file_obj.flush() 33 #关闭文件 34 file_obj.close() 35 36 37 38
View Code
转载于:https://www.cnblogs.com/miaoxg/p/4912105.html
python初学--day1相关推荐
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自学 ...
- Python初学笔记(第一学期学完c后和栗子一起学python)
Python初学笔记 一.基本数据类型 1.整数 2.浮点数 3.字符串 4.布尔值(即"对"与"错"): 5.空值 二.变量的定义 1.变量名 2.变量的定义 ...
- python初学-爬取网页数据
python初学-爬取网页数据 1,获取网页源代码 import urllib url = 'http://www.163.com'wp = urllib.urlopen(url) file_cont ...
- python培训Day1
python培训Day1 python学习day1 一 列表.元组.字典.集合 1.1列表[] 1.1.1列表创建 1.1.2列表元素添加 1.1.3列表元素的删除 1.1.4列表元素的插入inser ...
- Python初学尝试:word批量刷格式转PDF,替换页眉页脚
Python初学尝试:word批量刷格式转PDF,替换页眉页脚 初学尝试 round 1 ronund 2 easygui round 4 PyQt5 round 4 wxpython 小结 初学尝试 ...
- Python初学小知识(五):字符串
Python初学小知识(五):字符串 九.字符串 1. 字符串使用范围广.且极其方便 字符串的切片是是半闭半开区间,不包括最后的位置. 2. 字符串的各种方法 2.1 大小写转换 2.2 左中右对齐 ...
- 赖春林Python初学笔记 Day0.1
python初学笔记 Day0.1 在Shell里输入: dir(__builtins__) #可查看python中所有的关键词 在Shell里面输入: help(int) #可查看int关键 ...
- Python初学15——wordcloud库简介与使用
目录 一.wordcloud库基本介绍 二.wordcloud库使用说明( .WordCloud(width= ,height=, min_font_size=, max_font_size=, fo ...
- python基础训练 day1
python基础训练 day1 py萌新,今天开始坚持打卡! 第一题 # 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 首先的想法是穷举法,把所有的可能性列举出来, ...
最新文章
- 2021年大数据Kafka(九):kafka消息存储及查询机制原理
- 如图两道面试题,顺便深入线程池,并连环17问
- python基本语法语句-python 语法基础篇 一
- Oracle优化11-10046事件
- Spreadsheet Tracking
- Oracle 数据库错误信息:动态执行表不可访问,本会话的自动统计被禁止
- Laravel项目迁移步骤
- 智能语音识别究竟是如何实现的?
- 深度学习: 推进人工智能的梦想
- gb28181简单实现sip信令服务器(java版基于springboot):三、sip摄像头注册(代码实现)
- 共享远程计算机文件夹,怎么远程访问共享文件夹
- 如何升级php到最新版本_如何将PHP升级到最新版本
- CF1389G Directing Edges
- 搜狗推广管家 v8.3
- 网页设计配色应用实例之黄色系
- 0基础实现微信推送天气,生日等(女朋友快乐眼)
- max3490esa_MAX1661EUB-T_maxim芯片后缀tg16是什么意思
- 记录一次租房经历一(1)
- WebGL 2.0实现Vertex Array Objects(VAO,顶点数组对象)
- css 怎么做出黑白相间的table
热门文章
- js 提交form表单,js更改form表单的action属性
- grep如何忽略.svn目录,以及如何忽略多个目录
- android 中的PopupWindow
- Vivado下几条 Verilog 综合规则
- 深入浅出解释FFT(四)——fft分析信号频率和相位
- javascript中的闭包这一篇就够了
- HDOJ(HDU) 2139 Calculate the formula(水题,又一个用JavaAC不了的题目)
- JMS(二):简单的JMS入门实例
- android开发设置dialog的高宽
- HTML4如何让一个DIV居中对齐?float输入日志标题