python 2 和 3 的区别

1、用户输入的命令:python 2 中是raw_input("");python 3 中是input(“”)。

  2、默认字符编码:python 2 是ASCII码;python 3 是 Unicode码。

  3、windows的默认安装路径不同:python 2.7是c:\python27;python 3 是C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.5(user表示当前安装的用户名)

  4、2 和 3 同时安装在Windows上需要更改环境变量,要将不是默认的python环境变量加到系统的环境变量中(如默认的python3.5,就将python2.7的加到系统的环境变量中)。具体如下(win8为例):

Python文件的

运行方法

1、python filename.py

2、./filename.py

Python文件的注意事项

1、文件命名的后缀为py

2、文件编写时,开头两行要指定解释器和字符编码,如下

#!/usr/bin/env python     指定解释器为Python,就可以使用./filename.py执行此文件

# -*- coding: utf-8 -*-     指定此文件的编码类型为UTF-8,就可以在此文件中输入中文

3、对filename.py要具有执行的权限,如果没有可以使用chmod 755 filename.py命令添加

Print语句

Print的作用

打印变量、数字和字符串

Print的用法

print(“”)

Print的注意事项

1、打印数字和变量不需要加引号。如print(name)、print(888)。

2、打印字符串需要引号。如print(“Welcome”)。

变量

语法

variable = "value"

ps:当value是数字或变量时不使用引号

变量的命名

1、只能为字母、数字和下划线

2、第一个字符不能为数字

3、命名较复杂时使用单词首字母大写或用下划线隔开,如:FileName或file_name

4、不能是一下名称['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

字符编码

电脑可以识别的二进制码与语言的对应关系

1、ASCII码:发明最早;占用空间小;只适用于英文,不兼容其他语言;使用一个字节(8位),可以表示2**8=256-1个符号。

2、 Unicode码(又为万国码或统一码):占用空间较大;适用于所有语言;最少使用两个字节,可以表示2**16=65536-1个符号

3、UTF-8:集成了ASCII码和Unicode的优点,将语言分类保存,用一个字节保存英文,两个字节保存欧洲语言,三个字节保存东亚语言

Python注释

作用

1、不被python程序执行的内容

2、用于注明、解释某一行或某一段代码的作用和说明

3、多行注释可以设置成变量的值被打印出来,效果类似于制作文本模版

方法

1、单行注释:#+被注释的内容

2、多行注释:'''被注释的内容'''

input语句

用于用户输入数据使用

语法

input("")

ps:1、一般作为变量的值使用,如name = input("input your name:")

  2、python 2 的用户输入是raw_input

import语句

可以调用系统自带的标准模块,也可以调用第三方模块

语法

import 模块

例如:import os  #调用系统自带的OS模块

import的查找列表

使用print(sys.path)命令查看import的调用模块的目录列表,列表用逗号隔开,从左到右依次调用,第一个位置是当前目录。下图是以linux下的python3.4举例,其中红框中的/usr/local/lib/python3.4/dist-packages是全局环境变量的位置,一般将第三方的模块放到这个位置就可以随时调用了,

下图为python2.7中的路径是/usr/local/lib/python2.7/dist-packages(如下图,有时目录名是site-packages)。

getpass语句

用于用户输入密文的数据

语法

import getpass

password = getpass.getpass("")

ps:此语法只适用于在linux下使用,不能在pycharm下使用

标准库——os模块

这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。

语法

import os

os.system("系统命令“)

举例

import os

os.system("ll /etc")    #调用linux系统下”ll“命令查看/etc下的目录文件列表

第三方库——tab补全模块

默认linux和mac系统下的python是没有tab补全功能的,需要手动创建tab.py,将写好的tab.py文件放到全局环境变量(dite-packages)目录里,就可以随时使用import调用了

tab.py文件的内容

 import sys
import readline
import rlcompleter if sys.platform == 'darwin' and sys.version_info[0] == 2:
readline.parse_and_bind("bind ^I rl_complete")
else:
readline.parse_and_bind("tab: complete") # linux and python3 on mac

for mac

 #!/usr/bin/env python
# python startup file
import sys
import readline
import rlcompleter
import atexit
import os
# tab completion
readline.parse_and_bind('tab: complete')
# history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
try:
readline.read_history_file(histfile)
except IOError:
pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter

for linux

if语句

判断语句,逻辑上解释就是:如果符合某条件则执行对应的操作

语法

if 条件:

执行的操作

elif 条件:

执行的操作

else:

执行的操作

ps:注意冒号和缩进;如果判断的条件有很多,可以增加elif

举例

 _numbuter = 55
_guess = int(input("请输入你的猜测数字:”))
if _numbuter == _guess:
print("恭喜您,猜对了“)
elif _numbuter > _guess:
print("不好意思,您猜大了”)
else:
print(“不好意思,您猜小了”)

ps:1、判断语句的符号有:<(小于)、>(大于)、==(等于)、>=(大于等于)、<=(小于等于)

   2、判断多个条件同时成立是用“or”和“and”,or表示或者(其中一个条件满足即可),and表示且(同时满足)

   3、当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。如下例:

for循环语句

是从某个对象里面依次将元素读取出来,并在所有元素都处理过后结束循环

语法

for 变量 in 取值对象

...代码块...

break

举例

username = "aaa"
passwd = ""
for i in range(10):
if i < 3:
user = input("请您输入用户名:")
password = input("请您输入密码:")
if user == username and passwd == password:
print("恭喜您,输入正确")
break
else:
print("您输入的用户名密码不匹配,请重新输入。。。")
else:
print("您输入的错误次数过多")
break

文件的操作

python可以对文件进行打开,追加写入,关闭操作

打开文件

后台打开文件

语法

变量 = open("文件路径“,”打开模式“)

如:filename = open("/home/aa.txt","r")   命名变量filename以只读的方式打开/home/aa.txt文件

打开的模式有如下几种:

w:以写方式打开,
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以二进制读模式打开
wb:以二进制写模式打开 (参见 w )
ab:以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )

读取文件内容

结合打开文件使用,可以在后台调去文件中的内容

语法

filename.readline()

如下,调取文件内一整行的内容:

 filename = open("/home/aa.txt","r")
filename.readline()

文件写入

可以将对象写入到文件内,结合打开文件使用

语法

filename.write("content")     #content可以是字符串、变量和数字,为变量时不使用引号

如下将”公司名“写入到文件aa.txt中

 filename = open("/home/aa.txt","r")
filename.write("公司名")

文件关闭

对文件进行操作后,一定要将文件关闭

语法

filename.close()

如下

 filename = open("/home/aa.txt","r")
filename.write("公司名")
filename.close()

day1学习的更多相关文章

  1. day1 学习历程

    day1 我是一个在校大三学生,一个依然迷茫不知前景的大学混子= =,可以这么说吧 大学混子 真正开始决定好好学习大概在去年的12月份 那时经老师的提醒 开始正式接触软件开发 于是 从头开始学习语言 ...

  2. Day1学习总结

    # 1.print()# 2.input()# 3.if:# elif# else#4.while循环#5.for i in range()#6.break.continue#7.import ran ...

  3. 【Python Learning第一篇】Linux命令学习及Vim命令的使用

    学了两天,终于把基本命令学完了,掌握以后可以当半个程序员了♪(^∇^*) 此文是一篇备忘录或者查询笔记,如果哪位大佬看上了并且非常嫌弃的话,还请大佬不吝赐教,多多包涵 以下是我上课做的一些笔记,非常的 ...

  4. 「Android 开发」入门笔记

    「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...

  5. 白盒测试实践--Day5

    累计完成任务情况: 阶段内容 参与人 完成个人情况说明并提交作业 全体 汇总作业,查漏补缺,完成代码测试总结 小靳.小龙 完成测试小结 小黄.小尹 完成静态代码检查结果报告 小靳 完成JUnit脚本编 ...

  6. 白盒测试实践--Day4 12.20

    累计完成任务情况: 阶段内容 参与人 完成个人情况说明并提交作业 全体 汇总作业,查漏补缺,完成代码测试总结 小靳.小龙 完成测试小结 小黄.小尹 完成静态代码检查结果报告 小靳 完成JUnit脚本编 ...

  7. 白盒测试实践--Day3 12/19/2017

    累计完成任务情况: 阶段内容 参与人 完成静态代码检查结果报告 小靳 完成JUnit脚本编写 小黄 完成CheckStyle检查 小靳 完成代码评审会议纪要和结果报告 小熊.小梁及其他 完成白盒测试用 ...

  8. 白盒测试实践--Day2

    累计完成任务情况: 阶段内容 参与人 完成CheckStyle检查 小靳 完成代码评审会议纪要和结果报告 小熊.小梁及其他 完成白盒测试用例 小尹 学习静态代码审核,确定评审表,开评审会确定高危区代码 ...

  9. 白盒测试实践--Day0

    白盒测试实践--Day0 累计完成任务情况: 阶段内容 参与人 开会学习作业要求,取得共识 全体 注: 1."阶段内容"划斜线表示完成. 2.采用倒序. 具体情况: 组长提前组织分 ...

随机推荐

  1. Android之ListView的getItemViewType和getViewTypeCount

    PS:感觉这两个方法其实还是很容易理解的,也算是给我其他两个朋友写的吧,帮他们搞清楚这两个方法的用法和概念.同时还有一些小细节问题需要注意. 学习内容: 1.getItemViewType和getVi ...

  2. Linux中解析json---jq

    遇到要在Linux上处理json的请求,换了熟悉的环境就抓瞎了,需要用心学习基础知识. jq官网:https://stedolan.github.io/jq   1.install   yum ins ...

  3. QRCode

    这个星期, 领导要我总结项目中用到的一些技术, 然后交付文档. 嘿嘿, 奉命整理. 二维码, 相信很多项目中都会要求生成这个, 然后由手机端去扫描, 或存储一些详情信息, 或存储一条链接, 可以快捷访 ...

  4. Win10 UWP 开发系列:使用多语言工具包让应用支持多语言

    之前我在一篇blog中写过如何使用多语言工具包,见http://www.cnblogs.com/yanxiaodi/p/3800767.html 在WinEcos社区也发布过一篇详细的文章介绍多语言工 ...

  5. 关于在aspx前台使用后台变量的问题

    我们经常会在后台定义一个变量,然后在用<%=变量名%>这种方式去获取,但是有时候<head></head>里面获取变量的时候,有时候会获取不到是怎么回事呢 前台: ...

  6. VMWare 安装 Mac OS X10.10 Yosemite

    OS X Yosemite 新功能特性 Mac OS X10.10 GM3|OS X 10.10 Yosemite 正式版下载 如何在虚拟机中安装苹果mac系统图示说明 vm10虚拟机安装Mac OS ...

  7. Thinking in Java——笔记(19)

    Enumerated Types Basic enum features When you create an enum, an associated class is produced for yo ...

  8. 自定义JsonResult解决 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用

    接上篇的问题,给出我自己的解决方案. 同时推荐要学习MVC的可以参考下<ASP.NET MVC4 框架揭秘>. 首先,要自定义JSonResult,就要明白MVC中 JsonResult的 ...

  9. 深入浅出node(3) 异步I/O

    这篇主要整理深入浅出Node.js第三章 异步I/O 一) 异步I/O的原因 二)异步I/O实现现状 2.1 异步I/O与非阻塞I/O 2.2 轮询 2.3 理想的非阻塞异步I/O 2.4 现实的异步 ...

  10. WePayUI 快快尝鲜体验

    好久没有更新博客了... 时间真的很快~~~ 不废话了..干货会直接上~~~ WePayUI是什么 WePayUI 由微信支付为服务商和商户量身打造,用于快速制作符合微信支付规范的Web页面.WePa ...