博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础之day1
阅读量:6871 次
发布时间:2019-06-26

本文共 6408 字,大约阅读时间需要 21 分钟。

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采用,对Python代码进行动态编译(注意不是解释),所以可以显著提高                       Python代码的执行速度。
  • RubyPython、Brython ...

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

 2.Python环境安装

windows:

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

linux:

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

查看默认Python版本  python -V  1、安装gcc,用于编译Python源码    yum install gcc2、下载源码包,https://www.python.org/ftp/python/3、解压并进入源码文件4、编译安装    ./configure    make all    make install5、查看版本    /usr/local/bin/python2.7 -V6、修改默认Python版本    mv /usr/bin/python /usr/bin/python2.6    ln -s /usr/local/bin/python2.7 /usr/bin/python7、防止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 win32Type "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,osfrom 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,osfrom 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.argv    if 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.xname = 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"    break    print "456"#以上输出为 123continue用于退出当前循环,继续下一次循环while True:    print "123"    continue    print "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             break13         elif guessNum
猜数字

 

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

你可能感兴趣的文章
自然数的公理化理论体系定义的新方法
查看>>
寻找最急需招聘企业—2014年求职六大技巧之三
查看>>
不懂程序看的明确《黑客帝国》吗?
查看>>
单例模式的长处-缺点
查看>>
设计电影类将海报的内容打印出来
查看>>
LeetCode Product of Array Except Self
查看>>
对OpenCV中seamlessClone的初步实验
查看>>
高精度1--加法
查看>>
Python标准库:内置函数all(iterable)
查看>>
Java多线程理解:线程安全的集合对象
查看>>
堆和栈的差别
查看>>
用尽洪荒之力整理的Mysql数据库32条军规(转)
查看>>
两个Web应用必须的Servlet Filter
查看>>
基于Handler架构的录音程序
查看>>
Serf 了解
查看>>
nlp总结
查看>>
MongoDB数据库聚合
查看>>
ffmpeg保存原始数据PCM YUV
查看>>
Spigot 算法之中的一个 计算调和级数的和
查看>>
vue2.0如何自定义全局变量的方法
查看>>