Python 简介

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

1.Python的种类

  • Cpython:Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jyhton:Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
  • IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
  • PyPy(特殊):Python实现的Python,将Python的字节码字节码再编译成机器码。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高                       Python代码的执行速度。
  • RubyPython、Brython ...

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

2.Python环境安装

windows:

1、下载安装包https://www.python.org/downloads/
2、安装默认安装路径:C:\python27
3、配置环境变量【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】如:原来的值;C:\python27,切记前面有分号

linux:

Linux的yum依赖自带Python,为防止错误,如果需要安装一个更高版本如下:

查看默认Python版本
 python -V1、安装gcc,用于编译Python源码yum install gcc
2、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装./configuremake allmake install
5、查看版本/usr/local/bin/python2.7 -V
6、修改默认Python版本mv /usr/bin/python /usr/bin/python2.6ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本vi /usr/bin/yum将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

Python基础之变量、字符编码、用户输入、流程控制

第一个Python

在python IDLE 下输入如下程序

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.
>>> print ("Hello,world")
Hello,world

执行python 程序文件,在Linux或者windows 下创建hello.py 输入如下内容

#!/usr/bin/env python                #指定Python解释器print('hello, world')                      #打印"hello,world 信息"

变量

1.声明变量

#-*- coding:utf-8 -*-name = "Derby"

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

变量定义的规则:

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

2、变量的赋值

#!/usr/bin/env python
# -*- coding: utf-8 -*-name1 = "dengbinbin"
name2 = "derby"

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-name1 = "Derby"
name2 = name1

  

3、Python内置特殊变量

(1). __doc__、__package__

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File    : test1.py"""
这是注释
"""import sys,os
from lib import commonprint(__doc__)  #表示一个文件的注释print(__package__)  #代表一个包的名称(此文件没有包)
print(common.__package__) #(从lib包里导入的文件)>>>这是注释>>>None
>>>lib

(2). __file__

获取当前文件名称

import sys,osprint(__file__) #代表当前文件名(如果在创建的工程内能表示全路径)#os.path.abspath(__file__) #可以获取文件的绝对路径
print(os.path.abspath(__file__))#经常用于获取文件的包名,导入包print(os.path.dirname(os.path.abspath(__file__))) #获取文件的path路径
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) #获取上一级包名>>>C:/Users/Administrator/PycharmProjects/dbb0928/1106/lib/common.py
>>>C:\Users\Administrator\PycharmProjects\dbb0928\1106\lib\common.py
>>>C:\Users\Administrator\PycharmProjects\dbb0928\1106\lib
>>>C:\Users\Administrator\PycharmProjects\dbb0928\1106

(3). __name__

当直接运行某个Python文件时,解释器内部把一个特殊变量__name__会置为__main__,如果是导入函数或模块的则不会

import sys,os
from lib import commonprint(__name__)
print(common.__name__)>>>__main__
>>>lib.common

一般用于主函数判断

#!/usr/bin/env python3
# -*- coding: utf-8 -*-' a test module '__author__ = 'Michael Liao'import sysdef test():args = sys.argvif len(args)==1:print('Hello, world!')elif len(args)==2:print('Hello, %s!' % args[1])else:print('Too many arguments!')if __name__=='__main__':test()

  

字符编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(Python2默认ascill,Python3默认为utf-8)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

更多内容参考

注释

  当行注视:# 被注释内容

  多行注释:""" 被注释内容 """ 或者 ''' 内容 '''

pyc 文件

执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

用户输入

Python2和Python3 用户输入的区别如下:

#!/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 -*-
# @Time    : 2016/10/4 12:59
# @Author  : Derby
# @File    : VerifyPasswd.pyimport getpassusername = input('please input you username:')
#passwd = input('please input you passwd:')       #直接输入看到密码
passwd = getpass.getpass("input passwd:")         #不会回显密码 注意:只在Linux或windows命令行执行有效if username == "derby" and passwd == "123456" :print('Congratulation! authentication pass...')else:print('username and password does not match... ')

  

流程控制

1.if...else  判断

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # @Time    : 2016/10/4 13:52
 4 # @Author  : Derby
 5 # @File    : JudgeUser.py
 6
 7 #判断输入用户的身份
 8
 9 name=input('请输入用户:')
10 if name == "admin":
11     print("超级管理员账户")
12 elif name == "user":
13     print ('管理员账户')
14 else:
15     print('普通用户')

Judge user

2.while和for 循环

while循环

while 条件:# 循环体# 如果条件为真,那么循环体则执行# 如果条件为假,那么循环体不执行

while True:   # while 条件永远为真

    # 循环体中没有任何跳出循环语句    # 此循环为死循环

for 循环

for  循环元素   in   循环元素集 :#循环体
e,g:for i in range(10):print("loop:", i )

跳出循环之break 和 continue

break用于退出所有循环while True:print "123"breakprint "456"#以上输出为 123continue用于退出当前循环,继续下一次循环while True:print "123"continueprint "456"#以上输出一直输出123 直到你的机器牺牲

应用场景之猜数字  

实现让用户不断的猜数字,但只给最多10次机会,猜玩三次提示用户是否继续,最后猜不对就退出程序,一下是逻辑图:

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 #author:Derby
 4
 5 a=12
 6 counter = 0
 7 for i in range(10):
 8     if counter<3:
 9         guessNum=int(input("please input you guess number:"))
10         if guessNum==a :
11             print ("Congretulation! you guess right!")
12             break
13         elif guessNum<a:
14             print ("Think bigger!")
15         else:
16             print ("Think smaller!")
17     else:
18         answer=input("Do you want continue? \n press Y or N \t")
19         if answer=="y":
20             counter = 0
21         else:
22             break
23     counter += 1

猜数字

转载于:https://www.cnblogs.com/derby/p/5926126.html

python基础之day1相关推荐

  1. Day1 - Python基础1

    Day1 - Python基础1 目录 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 python的创始人为吉多·范罗苏姆(Gui ...

  2. Day1 python基础

    一.python介绍 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, ...

  3. Python学习日记-day1基础篇 字符 输出 注释

    Python学习日记-day1基础篇 字符 输出 注释 by北栀一刺 # -*- coding: utf-8 -*- """ Spyder EditorThis is a ...

  4. day1 计算机基础以及python基础

    day1 计算机基础以及python基础 1.cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 内存:暂时存储数据,临时加载数据应用程序.一般有4G.8G.16G.32G ...

  5. 没有计算机基础可以学python-学习第一天day1(计算机基础,及python基础)

    一,计算机基础 1.什么是编程语言 语言是一个事物与另外一个事物沟通的介质 编程语言是程序员与计算机沟通的介质 2.什么是编程 编程就是程序按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来 ...

  6. 【Day1】一小时入门 python 基础,从安装到入门

    文章目录 python 安装 安装python 安装 pycharm python基础 输出 注释 变量 输入 类型转换 运算符 自增 字符串相关操作 比较运算符 逻辑运算符 条件控制 while循环 ...

  7. Day1 - Python基础

    本节内容 1. Python简介  2.安装 3.第一个程序(hello world) 4.解释器 5.编程语言的分类 6.注释 7.变量 8.中文的问题 9.运算 10.输入/输出 11.流程控制/ ...

  8. 两天入门Python基础(附代码实现)

    这是光城同学写的一篇python基础长文,对python的基础语法用了简单的例子进行讲解,非常适合初学者入门,初学者用两天时间看懂并实现代码后,可以对python有初步的理解,强烈建议初学者学习.(建 ...

  9. python基础准备

    老男孩python全栈学习day1 第一讲python基础: 1.python起源:python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中 ...

最新文章

  1. 【深度学习】最新「深度学习社区发现」综述论文,174篇文献概述六大类方法(含Github资源)...
  2. python实验七答案_Python实验报告七
  3. DIV+CSS布局参考站点
  4. ZAP-Queries(洛谷-P3455)
  5. Protobuf语言指南
  6. Android 怎么退出整个应用程序?[转]
  7. AI如何变革家居软装?拍图就能搜商品,深度学习平台飞桨新玩法
  8. rip协议中周期性广播路由信息的报文_关于RIP的一点小笔记--华为
  9. uni中的web-view
  10. 【接口测试】Jmeter+ant安装及简单使用教程(集成)
  11. 聊天室软件(服务器+图形界面客户端)
  12. 驻马店计算机招聘信息网,2017河南职称计算机考试报名:驻马店职称计算机报名入口...
  13. 伍斯特理工学院计算机科学硕士,美国伍斯特理工学院计算机科学硕士入学要求.pdf...
  14. 从键盘输入一个阿拉伯数字,输出对应的财务数字, 用switch。/*零、壹、贰、叁、肆、伍、陆、柒、捌、玖、亿、万、仟、佰、拾。
  15. 自然语言处理入门理论知识
  16. Solr与MongoDB集成,实时增量索引[转]
  17. 2019值得购买的运动蓝牙耳机推荐
  18. 华视cvr-100UC 二代身份证读卡通用函数
  19. Get the 1,000- Foot View
  20. 富士康服务器主板装系统,富士康主板如何刷bios 富士康主板刷bios的技巧

热门文章

  1. 单臂路由(实现VLAN间通信)
  2. nginx学习总结五(nginx反向代理)
  3. 英文谚语:Take that with a grain of salt
  4. 基于向量空间的知识图谱查询及结果解释
  5. Linux笔记1- 6 --文件
  6. 由一个园友因为上传漏洞导致网站被攻破而得到的教训
  7. 高分求FP-tree算法用Delphi实现
  8. 详解VS2012发布web api流程
  9. 前端开发新手,这些书千万不要看!
  10. 借书证信息管理系统,C语言实现