第一篇:Python入门与基础

1,什么是python?

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

2,python的特征:

(1)易于学习,易于利用;

(2)开发效率高,内建众多数据类型,强大的标准库支持;

(3)高级语言;

(4)可移植性,基于开放源代码特性

(5)可扩展性,如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

(6)可嵌入,你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

3,python的安装:

(1)Windows安装:

    (1)下载安装包

     
       (2)配置环境变量
  • 右键点击"计算机",然后点击"属性"
  • 然后点击"高级系统设置"
  • 选择"系统变量"窗口下面的"Path",双击即可;
  • 然后在"Path"行,添加python安装路径即可。

(2)Linux 安装:

(1)下载安装包(系统可能自带python2.7根据需求安装)

浏览器访问https://www.python.org/downloads/source/

(2)安装软件包依赖

#yum groupinstall "Development tools"
#yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

(3)安装python3.X

      #tar  -zxvf   Pythonxxx

#cd  Pythonxxxx

#./configure  --prefix=/usr/bin/python3.X

       #make  && make  install

(3)在bash linux 输入环境变量:

#vi .bash_profile
export PATH=$PATH:/usr/bin/python3.X/bin
#source .bash_profile

4 , 第一个python程序

(1)查看python 版本

进入python交互模式
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.

(2)开始第一个“hello world!”程序

#!/usr/bin/python3

print("hello world !")

###运行结果###
# hello world !

(3)基本规则:

语句,注释,最大80行,通常以py结尾的扩展名。

(4)python程序的组成

程序由模块组成;

模块由语句、函数、类组成;

语句包含表达式;

        表达式建立并处理对象;

5,python数字与算数表达式

python数字

python核心数字类型与内置对象

数字类型:

(1)整型(int)和浮点型(float)

  数字常量的表示方法:整数int
二进制:(以0B开头)
八进制:(以0o开头, 格式0obb)
十进制:3.0 、 3.14
十六进制:(以0x开头,列子:0x1A、 0x1a2b3c)
浮点数表示方法两种:
A,小数:3.0
B,科学计数法:(格式: 小数 e/E + 十的n次幂)
>>> type(10)
<class 'int'> #整数
>>> type(20.3)
<class 'float'> #浮点数
>>> 6.18E-1
0.618 #科学计数法:

(2)复数(complex)

>>> type(2+3.8j)
<class 'complex'>
>>> type(2.3j)
<class 'complex'>
>>> type(0+3.5j)
<class 'complex'>
#复数格式: a + bj (a是实部, b是虚部,其中a可以是0,可以省略。)以J或j结尾

(3)布尔值bool 和 空值 None

布尔值由真(成立)和假(不成立)两种:

True 的值是1

False 的值是0

空值是特殊的常量,不表示任何类型。

作用:通常用来绑定占位符,变了解除绑定

说明:空值和任何类其他类型的对象永远返回的是False。

算数表达式

概念:表达式由一个数字(或对象)或数字和运算符组成用来表示;表达式通常用来让计算机做一些事情并且返回结果的方法。

算数运算符:

+  加法 、  -   减法、  *  乘法、  /  除法、  % 求余(取模)、 //  地板除(floordiv) 、  **  幂运算

>>> 2+2
4
>>> 3-2
1
>>> 3*2
6
>>> 3/2
1.5 #除不会丢小数点位 >>> 5//2
2
>>> 5/2
2.5
>>> -5//2
-3
>>> 5/3
1.6666666666666667
>>> -5//3
-2
#地板除的作用: 除的结果去掉小数部分,向下取整。 >>> 7%3
1 #求余
>>> -5 % 3
1
>>> (-6 + 1) % 3
1
>>> -9%3
0
>>> -9%4
3
>>> (-12 + 3)%4
3
>>> 9%4
1
#x%y 求余得【0,y】之间的数

运算符的优先级

从高到低: **  、  *  /    //     %  (同一优先级由左向右运算)、  +  -

用括号将表达式分组, 先算()内的;

6,变量

概念:变量是关联一个对象的符号(标识符)。

变量名的命名方法:

变量名由字母或下划线开头,后面跟字母或者下划线或数字;

不能使用python关键字

说明: 变量区分大小写

合法的变量名

a  、 bb1 、  _a  、  _1a  、 __aaa_

不合法的变量名

1a 、  123 、 $a  、 #a 、-b

python关键字

True , False , None   , del  ,if  、 else等等

赋值运算符(  =  )

格式: 变量名=表达式

作用:1,当没有变量时,创建一个变量,同时将这个变量绑定到对象上

2,当变量存在时,改变此变量关联的对象;

3,用变量访问关联的对象;

>>> pi = 3.14
>>> pi * 3 *2
18.84
>>> pi
3.14
>>> pi = 10 >>> a = 1 + 2 #a绑定的是1 + 2 ,而不是 3.
>>> a
3
>>> b = a
>>> b
3
>>> a= None #赋值是None 对象时,1+2 对象则被释放。
>>> a

python中的关联、绑定和引用的关系: 都是指变量和一个对象的关联关系;

序列赋值语法:

变量名1,变量名2 。。。 = 对象1, 对象2。。。

变量名1,变量名2 。。。 = 对象1, 对象2。。。

变量名1,变量名2 。。。 = 对象1, 对象2。。。

>>> a = 10
>>> b = 20 #方法1
>>> print(a,b)
10 20
>>> a,b = 11,21 #方法2
>>> print(a,b)
11 21
>>> a,b = b,a #方法3
>>> print(a,b)
21 11

7,is运算符

is作用:两个变量是否绑定同一个对象,当绑定同一个对象时,返回True, 否则返回False。

is not 作用: 与is相反

语法: x is  y           ;  x   is  not   y

>>> a=100
>>> b=200
>>> id(a)
1435962928
>>> id(b)
1435966128
>>> a is b
False
>>> a is not b
True
>>> b = a
>>> b
100
>>> id(a)
1435962928
>>> id(b)
1435962928
>>> a is b
True
>>> a is not b
False
>>>

8,del 语句

作用:用于删除变量,同时解除与对象的关系;如果可能则释入对象;

语法格式:

del   变量名1   变量名2 。。。。

>>> a = 10
>>> b = 10
>>> del a ,b
>>> a
Traceback (most recent call last):
File "<pyshell#105>", line 1, in <module>
a
NameError: name 'a' is not defined
>>> b
Traceback (most recent call last):
File "<pyshell#106>", line 1, in <module>
b
NameError: name 'b' is not defined
>>>

9, help 函数

在交互模式下,查看当前作用域所有变量

help()函数

例子:help(__main__)

退出‘q’;

>>> help("__main__")
Help on module __main__: NAME
__main__ DATA
p1 = 10
p2 = 10
pi = 10 FIL >>> p1
10
>>> del p1
>>> help("__main__")
Help on module __main__: NAME
__main__ DATA
p2 = 10
pi = 10
>>>

补充:

#!/bin/bash

install_logs="/tmp/python_logs.log"
#
echo `date` >>$install_logs
echo "#########################start scripts############################" >>$install_logs
#install soft
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y >>$install_logs
#install python3.7.3
mkdir -p /usr/bin/python-3.7.
if [ -x /usr/bin/python-3.7./bin/python3 ]
then
exit
fi >>$install_logs
if [ -d ~/soft ]
then
cd ~/soft;
tar -zxvf Python-3.7..tgz;
if [ -d /usr/bin/python-3.7. ]
then
cd ~/soft/Python-3.7.;
./configure --prefix=/usr/bin/python-3.7.;
make && make install
fi
fi >>$install_logs
#env
echo -e "export PATH=$PATH:/usr/bin/python-3.7.3/bin" >> ~/.bash_profile
#install virtualenvwrapper
source ~/.bash_profile
pip3 install virtualenvwrapper >>$install_logs
mkdir ~/my_env
if [ -d ~/my_env ]
then
echo -e "export WORKON_HOME=~/my_env" >> ~/.bash_profile;
echo -e "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python-3.7.3/bin/python3" >> ~/.bash_profile
fi >>$install_logs
#source
source ~/.bash_profile
if [ -d /usr/bin/python-3.7./bin/ ]
then
source /usr/bin/python-3.7./bin/virtualenvwrapper.sh
source ~/.bash_profile
fi >>$install_logs
#end
echo `date` >>$install_logs
echo "############################END,SCRIPTS!##########################" >>$install_logs

python3.7.3+Virtualenvwrapper

echo -e "source /usr/bin/python-3.7.3/bin/virtualenvwrapper.sh" >> ~/.bash_profile

source     ~/.bash_profile

Python之路,第一篇:Python入门与基础的更多相关文章

  1. python之路第一篇

    一.python环境的搭建 1.window下环境的搭建 (1).在 https://www.python.org/downloads/ 下载自己系统所需要的python版本 (2).安装python ...

  2. Python之路(第一篇):Python简介和基础

    一.开发简介 1.开发:      开发语言:               高级语言:python.JAVA.PHP.C#..ruby.Go-->字节码                低级语言: ...

  3. Python之路(第九篇)Python文件操作

    一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r",encoding = “utf ...

  4. Python开发【第一篇】:目录

    本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python ...

  5. Python开发【第一篇】:目录

    本系列博文包含Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习Python编程的朋友们提供一点帮助! .Python开发[第一篇]:目录 .Python开发[第二篇]:初始P ...

  6. .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统

    .NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言     相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...

  7. Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)

    本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...

  8. Python人工智能之路 - 第一篇 : 你得会点儿Python基础

    Python 号称是最接近人工智能的语言,因为它的动态便捷性和灵活的三方扩展,成就了它在人工智能领域的丰碑 走进Python,靠近人工智能 一.编程语言Python的基础 之 "浅入浅出&q ...

  9. Python之路第一课Day6--随堂笔记(面向对象 )

    本节内容: 1. 面向对象编程介绍 2. 为什么要用面向对象进行开发? 3. 面向对象的特性:封装.继承.多态 4. 类.方法   一.面向过程 VS 面向对象  1. 编程范式 编程是 程序 员 用 ...

  10. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

随机推荐

  1. 码云git使用一(上传本地项目到码云git服务器上)

    主要讲下如果将项目部署到码云git服务器上,然后使用studio导入git项目,修改本地代码后,并同步到码云git上面. 首先:我们在码云上注册账号并登陆.官网(https://git.oschina ...

  2. 实验:输入一篇英文新闻,以“#”结束,统计其中a-z这26个字母各出现的次数和总字符个数。(不区分大小写)

    代码如下: #include <iostream> using namespace std; int main() { char ch; char s_letter[26]={'a','b ...

  3. vim 文本会在末尾自动添加换行 md5文件和数据只不对应

    在linux系统 vim md5data  # 打开文件 写入 abc 保存 md5sum md5Data  的计算值和openssl代码计算值不一样 原因在于linux文本文件末尾自动添加了换行 解 ...

  4. SQLite 剖析

    由于sqlite对多进程操作支持效果不太理想,在项目中,为了避免频繁读写 文件数据库带来的性能损耗,我们可以采用操作sqlite内存数据库,并将内存数据库定时同步到文件数据库中的方法. 实现思路如下: ...

  5. linux150条命令

    ●线上查询及帮助命令(2 个)man help ●文件和目录操作命令(13 个) ls tree pwd mkdir rmdir cd touch cp mv rm ln find rename ●查 ...

  6. 【转载】JVM系列一:JVM内存组成及分配

    java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时 ...

  7. 通过eclipse创建项目

    基于eclipse的Java文件:项目(project)<类(class)<方法(method),即方法method必须基于class, class必须基于project. 项目是程序的源 ...

  8. [Leetcode 101]判断对称树 Symmetric Tree

    [题目] Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). ...

  9. C++基础知识:泛型编程

    1.泛型编程的概念 ---不考虑具体数据类型的编程模式Swap 泛型写法中的 T 不是一个具体的数据类型,而是泛指任意的数据类型. 2.函数模板 - 函数模板其实是一个具有相同行为的函数家族,可用不同 ...

  10. SQL-18 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by

    题目描述 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no.薪水salary.last_name以及first_name,不准使用order byCREATE ...