人生总得坚持几件事吧。Python 我来了

前言:之前接触过些python,也听过不少的python视频。python几乎是学了忘,忘了再学,反反复复的,坚持不下去。现在给了自己理由也给了自己时间,加油吧。
现在版本用的是ubuntu的里面的python是2.7.10的。centos6的python是2.6版本的。如果升级之后要改yum的解释器。即使这样,后期一些py easy_install 还有django 会出一对错误。有一个东西挺好使的,就是[pyenv]。可以同时共存多个python版本。但是开发还是使用ubuntu的比较好

开始之前分享一篇文章,告诉你,为什么开发、运维和数据都需要用Python!

1.python入门基础

1 基本知识

python的分类(引用武sir博客)

  • Cpython
    Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jyhton
    Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
  • IronPython
    Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
  • PyPy(特殊)
    Python实现的Python,将Python的字节码字节码再编译成机器码。
  • RubyPython、Brython …

    python文件包括有内置模块 类库 自定义模块。
    python核心是解释器
    解释器内部执行过程 词法分析->语法分析->编译->执行
    

最基本的代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
print "hello python!"> 上面就是一个最基本的python脚本,第一行声明python解释器,和shell脚本类似。第二行指定编码格式,第三行,执行代码语句,打印hello python

编码

  1. ASCII码,美国标准信息交换码,最多用8位来表示一个字节,即最多能表示2的8次方 256个符号。无法表示中文!
  2. Unicode,因为ASCll码不能表示更多的符号,所以就有了unicode(万国码),它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。
  3. UTF-8 对unicode编码的优化和压缩,不同的字符用不同数量的字节来表示。

pyc文件
当python脚本执行后,会产生一个字节码文件,python解释器编译之后会产生一个和py同名的pyc文件,如果pyc存在的时候优先调用pyc文件。

变量

username="hansz"
wages=190000
list1=[1,2,3,"han",{"age":23}]

上面声明了不同类型的代码。变量名的值等于具体的值。
变量指向内存中某个地址保存的内容。

  • 变量名命名规则还是和其他语言的差不多,只能是字母数字下划线的任意组合。
  • 开头不能是数字
  • 不能用python中的关键字作为变量名

变量的赋值有个需要注意的地方:
name1=123
name2=name1
name1=345
name2 还是等于123

一旦修改,重新创建内存空间值类型(字符串) 和引用类型 (集合) 引用类型会随着变化。

 查看内存 id(name1)id(name2)缓冲池。。。相近的内存地址。i1=7i2=7id(i1),id(i2)一样i1=700iw=700id(i1),id(i2)不一样

输入
python2.7中的输入可以是
name = raw_input("enter your name:")
也可以是
name = input("enter your name:")
这是因为python2.7是在python3之后发布的,兼容2和3,所以在有的地方2.7都可以执行3版本的。

如果要使输入不显示,可以使用getpass模块中的getpass方法

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import getpass
passwd = getpass.getpass("enter your passwd:")
print(passwd)

python数据类型

1 数字

  1. int整型
  2. long 长整型
  3. float 浮点型
  4. 复数(一般用的少)

2 布尔值

True or False
1 or 0
用的还是比较多的。

3 字符串

 "hello python!"

c语言中的字符串其实是一个字符数组,每次创建的字符串的时候都需要在内存中开辟一块连续的空间,并且一旦需要修改字符串的话,就需要再次开辟空间,python中的+号出现一次连接字符串的时候就会从内存中开辟一块空间。所以建议最好不要使用+号。

可以使用字符串格式化的方式来拼接字符
name = “hansz”
print “My name is %s” % name

name = ” My name is %s”
name %(“hansz”)

字符串的操作
python中很常见的就是对字符串的操作了。
python处理字符串也很强大。
具体见后面博客

列表

host_list = ["192.168.1.111","192.168.1.222"]

列表的操作
针对列表的操作需要专门来介绍
具体见后面博客

元组

numbers = (11,22,33)

元组的操作
具体见后面的博客

字典

product = {"name":"iphone","price":6888}

字典的操作
见后面的博客

运算

算数运算
基本的加减乘除取模 幂 取整

比较运算
比较值是否相等大于小于

赋值运算
= += -=

逻辑运算
and or not

成员运算
in not in

身份运算
is is not

位运算

Python之路(一)相关推荐

  1. python之路——模块和包

    一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用Python编 ...

  2. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM 本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 ...

  3. Python之路【第五篇】:面向对象及相关

    Python之路[第五篇]:面向对象及相关 Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance ...

  4. 《我的Python之路V1.3.pdf》可以下载了,这版pdf更精美!

    1 前言 Python之路V1.3.pdf,使用更加专业的latex脚本和专业的Tex Live编译器生成,在经过这周3,4天的学习,编写,制作,终于完成年前制定的计划. 在制作V1.3.pdf中,遇 ...

  5. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新 转载于:https://www.cnblogs.com/weiman3389/p/6224181.html

  6. Python之路【第一篇】:Python简介和入门

    Python之路[第一篇]:Python简介和入门 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗 ...

  7. Python之路,day22-BBS基础

    Python之路,day22-BBS基础 多级评论 from django.template import Library from django.utils.safestring import ma ...

  8. Python之路_Day13

    Python之路_Day13_课堂笔记 前期回顾 一.redis 发布订阅 二.rabbitMQ 原始队列 exchange ex全部转发 ex,关键字 ex,模糊匹配 rpc 三.MySQL 四.P ...

  9. Python之路【第二篇】:Python基础(一)

    Python之路[第二篇]:Python基础(一) 入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 2 3 if 1==1:     name ...

  10. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于 ...

最新文章

  1. c#和python_IronPython和C#交互
  2. 原创 | 清华开源迁移学习算法库
  3. kafka for mac安装
  4. Python教程:文件路径/目录获取教程
  5. Python教程:hashlib加密
  6. 收集的常用css页面及表单表格样式
  7. python语言中strike_Python学习笔记
  8. 桶排序/Bucket Sort
  9. python—符号 | ^的使用
  10. 淘宝技术这十年——光棍节的狂欢
  11. Stopwatch 类
  12. matlab给图片滤波,matlab每日学习 图片滤波
  13. pr如何跳到关键帧_PR制作短视频(二):30分钟制作一个短视频
  14. 最短哈密尔顿圈matlab解法_数学建模学习笔记
  15. Python 批量合并 Excel工作簿
  16. Oracle 11g 新特性 -- Online Patching (Hot Patching 热补丁)说明
  17. 两张显卡在win10上如何使用
  18. 第九周-求一元二次函数的根
  19. 快速获取网页元素xpath的方法
  20. SQL实战(2)——国庆期间每类视频点赞量和转发量

热门文章

  1. java面向对象孙卫琴_[转]归去来兮,回归本源 ——评孙卫琴新作《Java面向对象编程》...
  2. 微软软件工程 第一周博客作业
  3. .equal(String)与Stirng.equal()的区别
  4. java.lang.RuntimeException
  5. css背景图片全屏_使用CSS3的全屏背景图片幻灯片
  6. allt什么意思_all是什么意思_all怎么读_all翻译_用法_发音_词组_同反义词_全部的-新东方在线英语词典...
  7. pyqtgraph 案例 002 Basic Plotting
  8. 结合MVC.NET相关知识实现在线卖酒销售项目(一)
  9. 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B说我也知道了,请你猜猜这两个数的和是多少
  10. RabbitMQ队列声明channel.queueDeclare()参数解析