1 Python介绍

1.1 Python 是一门什么样的语言?

python是一门动态解释性的强类型定义语言。

编译型的特点:可一致性差,运行速度快。

解释型的特点:边执行边解释,速度慢

1.2 Python 优缺点

优点

  • Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
  • 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
  • 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
  • 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
  • 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
  • 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

缺点

  • 速度慢
  • 不能加密
  • 线程不能利用多CPU问题

2 Python的安装

2.1 windows

1、下载安装包
https://www.python.org/downloads/

2、安装
默认安装路径:C:\python27

3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】

如:原来的值;C:\python27,切记前面有分号

注意:windows同时安装python3.5和python2.7,配置环境变量后输入python2提示:不是内部或外部命令,也不是可运行的程序

  1. 已经配置环境变量
  1. 根据python2.7的安装路径修改python.exe的名称为python2.exe
  1. cmd命令直接输入python2正常

2.2 linux安装python2.7

下载源码,并重新编译安装:

1. cd /usr/local/src/
2. wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz
3. tar xf Python-2.7.8.tgz
4. cd Python-2.7.8
5. ./configure --prefix=/usr/local/python27
6. make && make install
7. mv /usr/bin/python /usr/bin/python26 #将系统安装的重命名转移
8. ln -s /usr/local/python27/bin/python /usr/bin/ #创建软连接直接调用2.7版本python
9. vim /usr/bin/yum ##!/usr/bin/python2.6 修改原系统默认的python版本 以保证yum命令应用

2.3 linux安装python3.5

下载源码,并重新编译安装
下载Python3.5的源码包并编译

wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar xf Python-3.5.0.tgz
cd Python-3.5.0
./configure --prefix=/usr/local --enable-shared
make
make install
温馨提醒:如果编译遇到如下问题:
Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS
解决方法:
yum install -y openssl openssl-devel
继续:
ln -s /usr/local/bin/python3 /usr/bin/python3 在运行Python之前需要配置库: echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
ldconfig
可以设置别名:alias py=python3方便使用

3 Hello world等程序代码编写

程序执行信息:

在windows上执行python后进入python交互器:

>>> print ("Hello world!")
Hello world!

注意:python2的raw_input() == python3的input() 但是在python3中执行不带括号的会报错:

>>> print "Hello world!"
File "<stdin>", line 1
print "Hello world!"
^
SyntaxError: Missing parentheses in call to 'print'

3.1 小知识点

  • 退出Python交互器:exit() windows下ctrl+z 回车 linux下Ctrl+z退出
  • = 左边永远是变量名 =右边字符串的话需要添加"string" 数字可不加,运算:+-*/
  • print (“字符串”,变量) #数字不需要加引号 引用的变量不加引号
  • 在 python2 里输出中文 需要声明字符编码: #-*- coding:utf-8 -*-,python3 默认就是UTF-8字符编码
  • 一个二进制数字=1bite bit = 计算机的最小存储单位。8比特 = 1bytes 字节 1024bytes = 1kbytes KB
  • 双引号同单引号一样 :单双引号
  • 单行和多行注释:ctrl + /
  • 多行注释:’’’ ’’’ 通三个双引号 同时表示一个段落的字符串。
  • ctrl +d 复制当前行
  • id() 可查看变量内存地址

3.2 变量命名规则:

字符编码及变量声明

python2中一定要声明字符编码 #_*_coding:utf-8_*_

python3中默认是utf-8

name = "Stone"

上述代码声明了一个变量,变量名为: name,变量name的值为:"Stone" 

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名['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']

变量程序实例:

name = input("name:")   定义变量
age = input("age:")
job = input("job:")
hobby = input("hobby:") info = ''' 定义输出变量
-----info of %s -----
Name : %s
Age : %s
Job : %s
Hobby: %s
----- end -----
''' %(name,name,age,job,hobby)
print(info) 输出

3.3 用户交互

>>> name = input("pls input your name:")
pls input your name:stone
>>> name
'stone'

将input的值赋予给name变量,输入的是什么name就是什么

#!/usr/bin/env python
#_*_coding:utf-8_*_
#name = raw_input("What is your name?") #only on python 2.x
name = input("What is your name?")
print("Hello " + name )

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

#!/usr/bin/env python
# -*- coding: utf-8 -*- import getpass # 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:") # 打印输入的内容
print(pwd)

3.4 条件判断与首行缩进

猜年龄程序

#!/usr/bin/env python       #指定解释器为python
right_age = 23 #首先定义正确的年龄
guess_age = int(input("please input your guess num:"))#将input的值定义一个变量名
if right_age == guess_age: #进行条件判断 正确(注意判断后加":")
print("right") #注意缩进统一级别缩进要相同
elif guess_age > right_age: #猜的年龄大于真实年龄
print("please guess smaller!")
else:
print("please guess bigger!") #猜的年龄小于真实年龄

猜年龄-循环次数限定

#!/usr/bin/env python
right_age = 23 #定义正确年龄
for n in range(3): #执行3次,没有猜对退出
guess_age = int(input("please input your guess num:"))
if right_age == guess_age:
print("right")
break # break 猜对后退出当层循环
elif guess_age > right_age:
print("please guess smaller!")
else:
print("please guess bigger!")
else: #猜测次数过多,退出
print("too many times!!!")

小知识点:

出现缩进错误提示:注意同一级别的代码缩进必须保持一致。

选择多行+tab 进行多行缩进

type + 变量 输出变量类型

 
 

Python-基础学习-Day1的更多相关文章

  1. Python 基础学习day1

    1.计算机的组成 CPU:相当于人的大脑,预算中心. 内存:临时加载数据或者程序. 缺点:断电即消失. 硬盘:存放所有的数据,输入输出设备. 2.什么是操作系统. 调控所有硬件与软件的中间介质. 3. ...

  2. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  3. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  4. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  5. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  6. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  7. python基础学习(起步)

    目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...

  8. Python基础学习二

    Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...

  9. Python基础学习一

    Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...

  10. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

随机推荐

  1. JAVA蓝桥杯黄金分割数,涉及到bigdecimal

    import java.math.BigDecimal; public class test { public static void main(String[] args) { BigDecimal ...

  2. jq事件

    1,ready:当DOM载入就绪可以查询及操纵时绑定一个要执行的函数,在使用之前必须确保body元素的onload事件,,没有注册函数,否则不会触发ready函数. $(document).ready ...

  3. Node与apidoc的邂逅——NodeJS Restful 的API文档生成

    作为后台根据需求文档开发完成接口后,交付给前台(angular vue等)做开发,不可能让前台每个接口调用都去查看你的后台代码一点点查找.前台开发若不懂你的代码呢?让他一个接口一个接口去问你怎么调用, ...

  4. 发个2012年用java写的一个控制台小游戏

    时间是把杀狗刀 突然发现了12年用java写的控制台玩的一个文字游戏,有兴趣的可以下载试试哈汪~ 里面难点当时确实遇到过,在计算倒计时的时候用了多线程,当时还写了好久才搞定.很怀念那个时间虽然不会做游 ...

  5. jq 抽奖转盘

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. python函数式编程之生成器

    在前面的学习过程中,我们知道,迭代器有两个好处: 一是不依赖索引的统一的迭代方法 二是惰性计算,节省内存 但是迭代器也有自己的显著的缺点,那就是 不如按照索引取值方便 一次性,只能向后取值,不能向前取 ...

  7. 一名Java架构师分享自己的从业心得,从码农到架构师我用了八年

    工作了挺久,发现有个挺有意思的现象,从程序员.高级程序员,到现在挂着架构师.专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了. 这些疑问有些来自于跟小伙伴的交流,有些是我的自问自答 ...

  8. C语言第十一次作业--函数嵌套调用

    一.实验作业 1.1 PTA题目:递归法对任意10个数据按降序排序 设计思路 定义整型循环变量i,最小值下标min,中间变量t 若n==1,直接返回 否则 min=10-n 最小值下标赋初值 for ...

  9. MongoDB系列二(介绍).

    一.特点 学习一个东西,至少首先得知道它能做什么?适合做什么?有什么优缺点吧? 传统关系型数据库,遵循三大范式.即原子性.唯一性.每列与主键直接关联性.但是后来人们慢慢发现,不要把这些数据分散到多个表 ...

  10. 【阿里云API】 阿里云API调用的若干说明

    阿里云API 为了监控我们使用的一些阿里云产品,需要些一些脚本,定时调用这些脚本来获得相关阿里云产品的信息. ■ 概述 调用阿里云API大约分成两类方法,一个是直接从HTTP协议开始,自己根据阿里云的 ...