一、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. php源码编译常见错误解决方案

    在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support… yes ch ...

  2. javascript笔记3-面向对象的程序设计-创建对象

    javascript的对象:无序属性的集合,而每个属性可以包含基本值.对象或者函数.举例: var person = new Object(); person.name = "Nichola ...

  3. ERP权限系统(七)

    添加链接权限的字段: //权限管理 n.Target = "MainFrame"; //折叠 TreeView1.Nodes.Add(n); n.Expanded = false;

  4. 学习笔记:js、css、html判断浏览器的各种版本

    js.css.html判断浏览器的各种版本 (转载自:http://www.jb51.net/web/42244.html  版权归原作者所有) 利用正则表达式来判断ie浏览器版本 判断是否IE浏览器 ...

  5. coins_多重背包

    ps:原来用新浪,可是代码的排版不是很好,所以用博客园啦,先容许我把从八月份开始的代码搬过来,从这里重新出发,希望这里可以一直见证我的成长. Time Limit: 2000/1000 MS (Jav ...

  6. HDU 5001

    http://acm.hdu.edu.cn/showproblem.php?pid=5001 每次去掉要算的点,求出到达其他点的概率,就是不能到达这个点的概率 开始想去算到达这个点的概率,再去减,不过 ...

  7. jQuery实现一个全选复选框联动效果

    类似邮件列表里的复选框 要求双向联动 ☛ [实现]: <body> <div> <input type="checkbox" name="c ...

  8. shell命令:给当前目录里一个文件压缩一份不包含.svn文件的zip包

    filepath=$(cd ")"; pwd) packagePath="$filepath"/package zipPath="$filepath& ...

  9. CentOS下Web服务器环境搭建LNMP一键安装包

    CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...

  10. UVa 1346 - Songs

    题目大意:n张唱片,每张都有长度和频率,要求题目中公式值最小.求一个排序,输出该排序下第m张CD的id. 思路:贪心,长度越长放越后面,频率越低放越后面,所以按len/p去排序即可. #include ...