一、python安装

1)windows上同时安装python2.0和python3.0配置

(1)在python官网下载windows版本python2.0和python3.0安装包

官网地址:https://www.python.org/

JetBrains PyCharm 2016.1.2中设置编码格式

Default Settings-->Editor-->File and Code Templates-->Python Script中添加

#!/usr/bin/env python
# -*- coding:utf-8 -*-

(2)环境变量配置

  计算机属性---》属性--》高级系统设置--》高级--》环境变量--》Path,在最后记得添加英文符号“;”再添加python2安装路径,比如:C:\Python27;C:\Python27\Scripts ,并在python2.0安装目录把python.exe改成python2.exe,否则系统不识别python.exe程序

二、print函数

Python 2 的 print 声明已经被 print() 函数取代了,这意味着我们必须包装我们想打印在小括号中的对象。

三、动态语言和静态语言

1)动态类型语言:是指在运行期间才去做数据类型的检查的语言,即用动态类型的语言编程时,永远也不用给任何变量指定数据类型

2)静态类型语言:与动态类型语言刚才相反,他的数据类型是在编译期间检查的,即写程序时需要声明所有的变量的数据类型,C/C++/JAVA/C#即使典型的静态类型语言

四、Python常用变量及数据类型

1)数据类型:int(整型),float(浮点型),string(字符型),布尔型(bool),None(空值)

1)、整型:大小写无要求
2)、浮点型:对于很大或则很小的浮点数,需用科学计数法表示,吧10作为e表示,1.23X109 ==1.23e9,0.000012==1.2e5
转移字符:
\ :表示可以转移多个字符
\n:表示换行
\t:表示制表符
如果需要转移很多字符串:python允许用r' '表示‘  ’内部的字符串默认不转义   >>> print '\\\t\\' \ \ >>> print r'\\\t\\' \\\t\\
如果字符串内部有很多换行,python允许用 ' ' ' . . .  ' ' ' 格式表示多行内容
3)、布尔值(false true)
布尔值可以用:and 、or、not运算
and运算是与运算:所有为true,and运算结果才是true   >>> True and True True >>> True and False False >>> False and False False
or运算是或运算:其中一个为true,or运算结果就是true  >>> True or True True >>> True or False True >>> False or False False
not运算是非运算:单目运算>>> not True False >>> not False True
4)空值
python空值用none表示,none不能理解为0,0是有意义,none是一个特殊的空值
【注意:python中大小写代表不同的字符】
编写python脚本开头格式
#!/usr/bin/env python 
# -*- coding: utf-8 -*-
缩进和注释
python是强制缩进的语言,他通过缩进来确定一个新的逻辑层次的开始和结束,同一逻辑层次级别的代码缩进必须保持一致,
顶层逻辑层次的代码风格保持一致不能有缩进(新行的开始不能有空格)
 

 六、变量命名规则

1、字母、 数据 、下划线
2、变量名第一个字符不能是数字
3、关键字不能声明为变量,比如【'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'】
4、驼峰命名规则:每个字符的第一个字母写成“大写”,如:CheckCurrentConnCunt、、、
    比如:name = 'lcj'   #name是字符串,字符串要加上引号哦
     age  = 19 #age 是整数,整数不要就爱引号,加引号后就变成了字符串了哦 、注意哦
     has_girlfriend = False  #是布尔型,一般用这个做逻辑判断,如:if has_girlfriend:print 'good for you'
age = age + 1 #这个结果应该是20,运算流程是先将=号后面的 age+1 结果算出,然后在把这个结果重赋值给 age ,赋值之前是19,那么赋值以后 age 值变为20

七、Python解释器工作原理

1)在内存中穿件一个“lcj”的字符串
2)在内存中创建一个名字为“name”的变量,并把它指向“lcj”的内存地址。
即将变量 name 赋值给另外一个变量 name2,这个操作实际是把变量 name2 指向的数据
例如:
>>> name = "lcj"
>>> name2 = name
>>> id(name),id(name2)
(139725731035896, 139725731035896)
>>> name = "Jack"
>>> id(name),id(name2)
(139725731051632, 139725731035896)
>>> print(name,name2)
('Jack', 'lcj')
>>>
分析:
1)定义 name="lcj",解释器创建了字符串“lcj”和变量name,并把name指向“lcj”
2)执行 name2=name ,解释器创建name2变量,并把name2指向了name变量所指向的字符串“lcj”
3)这时通过ID内存函数查看一下这两个变量分别指向的内存地址,结果都是指向同一个地址
4)执行 name = "Jack",解释器创建一个新的变量“Jack”,并把 name 指向一个新的地址,也就是“Jack”所在地址的内存地址,但是neme2依然还是指向原来的“lcj”
  总结:当你把一个变量name赋值给另外一个变量name2时,解释器只是把name变量所指向的内存地址赋值给了name2,因此name和name2并未直接发生关联,只不过是他们都同时指向同一个内存地址而已,这也是说为什么你把name在指向一个新地址后,而name2的值还保持不变的原因。
 

八、运算符

 &  与运算,这个二进制位必须在2组数组中都为真,结果才返回真,
 |   或运算,这个二进制位只需要在其中一组数据中为真即返回真
  ^ 异或运算,只要这个二进制位在两组数据中不相同就返回真
  << 左移运算,将A整体向左移2位
  >> 右移运算,将A整体向右移2位
逻辑预算符:and 、or 、not
关系运算符:in 、not in
验证运算符:is 、is not
 

九、字符编码及格式化字符

1)1 byte = 8 bit(一个字节表示最大整数是255)
2)%s:表示格式化字符串,即表示字符串替换
3) %d:表示整数替换,有几个%s占位符,后面就跟几个变量或值,顺序对应好
4)%f:表示浮点型
5)%x:表示十六进制整数

 十、Python注释符号及技巧

1)单行注释:#
2)多行注释:''' XXXX  ''',
技巧:
多行注释:按住“Ctrl+/”,多行注释,Shift+/-->取消多行注释
调整代码整个作用域:选中需要调整的代码,按Tab键整体向前4个字符
恢复已调整代码作用域:选中已调整的代码,按Shift+tab整个代码向后缩进4个字符
JetBrains PyCharm 2016.1.2:切换python2.0和python3.0:Setting——》Project:Python_project——>Project Interpretr
 

 十一、常用流程控制

1)if 、、else和if 、、、elif、、、else
if<判断语句>:
  print<执行语句>
  break    #跳出该循环次数
elif<判断语句>:
  print<执行语句>
elif<判断语句>:
  print<执行语句>
else:
  print<执行语句>
  说明:当条件满足第一个if语句时,系统将退出改循环,否则将进行第二个、第三个elif语句判断,如果都没有满足条件将执行else语句 
 
2)循环语句
for i in reags(3)  #只循环三次
name = "lcj"
password = 'lcj123'
for i in range(3): #循环三次
user_name =input("Your name:")
passwd = input("Your password:")
if user_name == name and passwd == password: #同时满足用户名和密码正确,将打印print
print("Welcome longin 、、、")
break #满足第一个语句将退出该循环
elif user_name == 'guest': #继续判断
print("Welcome guest")
elif user_name == "xiaoluo":
else:
print("登入失败") 3)while循环
import time  #导入时间模块
count = 0 #时间计数器,每循环一次加1
run_count = True #当条件为true时,则执行下面语句
while run_count:
count +=1 #每次循环增加一次计数
print("Welcome login 、、、")
if count == 9: #当运行第九次,出现False时,退出循环
run_count = False
time.sleep(10) #每循环一次睡眠10m 4)、break和continue区别
break:结束整个程序循环,后面的elif、else语句也不执行
continue:结束本次循环,如有多层次的循环,将执行下一个循环 5)列表
定义:列表是一组有序的数据集合,可以将各种各样的数据有序的存放在列表中,并可以进行增删改查及遍历
>> getpass用法
把密码转换车工明文:
  user_name = input("You name")
  password = getpass.getpass("you password:")
  print(user_name,password)
在执行程序
os模块简单使用
查看linux磁盘空间
>> import os
>> os.system("du -h") #统计系统磁盘空间使用情况
将返回结果值保存
>> cmd_res = os.system("df")
>> print(cmd_res)
将统计的数据保存:
cmd_res = os.popen("df -h").read()
print(cmd_res)
sys模块【可以把每一个程序叫做一个模块】
查看自己写的模块在那个目录:
>> import sys
>> print(sys.path)
一般程序存在放的目录在:‘、usr/lib/python2.6/dist-packages/’
注意
如何自己的模块按tab不能补全,说明程序缺少readline包,执行 # pip install readline

python_Day1_基础知识开篇的更多相关文章

  1. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  2. [.net 面向对象编程基础] (1) 开篇

    [.net 面向对象编程基础] (1)开篇 使用.net进行面向对象编程也有好长一段时间了,整天都忙于赶项目,完成项目任务之中.最近偶有闲暇,看了项目组中的同学写的代码,感慨颇深.感觉除了定义个类,就 ...

  3. 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

    在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...

  4. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

  5. 转:RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  6. canvas API ,通俗的canvas基础知识(四)

    今天要讲的内容是canvas的转换功能,前面的内容没用看的同学可以出门右转,先看看前面的基础知识,废话不多说,开始进入正题吧! 何为转换功能?熟悉css3的同学都知道,css3里面有transform ...

  7. Java IO(1)基础知识——字节与字符

    正所谓怕什么来什么,这是知名的“墨菲定律”.Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员.工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往 ...

  8. Android查缺补漏(IPC篇)-- 进程间通讯基础知识热身

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8479282.html 在Android中进程间通信是比较难的一部分,同时又非常 ...

  9. JVM基础系列开篇:为什么要学虚拟机?

    跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看.所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试.但我经过了几年的学习和实战,我发现其实学习虚拟机并 ...

随机推荐

  1. iOS探索:对NSArray中自定义的对象进行排序

    http://mobile.51cto.com/hot-434804.htm 我们开发的每个程序都会使用到一些数据,而这些数据一般被封装在一个自定义的类中.例如一个音乐程序可能会有一个Song类,聊天 ...

  2. IE6-8支持css3属性

    方法一.让IE6-8支持css3属性 <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shi ...

  3. Balance_01背包

    Description Gigel has a strange "balance" and he wants to poise it. Actually, the device i ...

  4. POJ3107 (树的重心)

    ; INF=; type arr=record u,v,nt:longint; end; arr1=..maxn] of longint; ..maxn*] of arr; lt:..maxn] of ...

  5. Linux 基础入门(新版)(实验一至实验四)

    1.实验一  Lniux简介   操作系统:系统调用+内核 Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺:有全球所有的 Linux ...

  6. 【转】SQL SERVER日志满或过大的处理方法

    原文转自:http://blog.chinaunix.net/uid-7953959-id-2543262.html 事务日志文件Transaction Log File是用来记录数据库更新情况的文件 ...

  7. Linux档案与目录的管理

    本篇随笔中,主要介绍在Linux环境下,与档案和目录的管理相关的一些命令使用,具体包括如下几个方面: 目录的相关操作:cd,pwd,mkdir,rmdir(rm) 档案与目录的查视:ls 复制.删除与 ...

  8. 实战网卡bond

    一.什么是网卡bond 所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡,使用同一个IP工作,在增加带宽的同时也可以提高冗余性,一般使用较多的就是来提高冗余,分别和不同交换机相连,提高可靠性,但 ...

  9. 2015GitWebRTC编译实录8

    2015.07.20 common_video 编译通过,其对libyuv有引用[1309/1600 ] CXX obj /webrtc/common_video/libyuv/common_vide ...

  10. Socket实现异步通信

    private static void RecVing(IAsyncResult Result) {     //通过 result 获取socket.在这个socket上你启动了BeginAccep ...