1.1 Python优点

1、简单、优雅、明确
2、强大的模块三方库
3、易移植
4、面向对象
5、可扩展(c\java\c#...)

1.2 Python缺点

1、代码不能加密
2、速度慢

 

1.3 Python用途

一软件开发
1、游戏后台、搜索、图形界面
2、网站
3、C\S软件
4、科学运算
 
 
 

1.4 python解释器

 
— Cpython 官方标准
— Ipython    ipython是一个python的交互式shell,比默认的python shell好用很多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数,在ubuntu下只要sudo apt-get install ipython就装好了,通过ipthon启动。
— Jython--Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython 也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。
— PYPY    python写的解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
— IronPython-- .net version
小结
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.NET平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
 
 

1.5 python变量和常量

a、标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘_’)
b、标识符名称的其他部分可以由字母(大写或小写)、下划线(‘_’)或数字(0-9)组成。
c、标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。
d、有效标识符名称的例子有i、_my_name、name_23和a1b2_3。
f、无效标识符名称的例子有2things、this is spaced out和my-name。
大写的是常量
  所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:
PI=3.14159265359
  但事实上PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。
最后,理解变量在计算机内存中的表示也非常重要。当我们写:
a='ABC'
时,Python解释器干了两件事情:
1、在内存中创建一个'ABC'的字符串;
2、在内存中穿件另一个名为a的变量,并把它指向‘ABC’。
也可以把一个变量a赋值给另一个变量d,这个操作实际上是把变量b指向变量a所指向的数值,例如下面的代码:
a = 'ABC'
b = a
a = 'XYZ'
print b
最后一行打印出变量的内容到底是'ABC'还是'XYZ'?如果从数学意义上理解。就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC'

1.6 python注释

  当行注视:# 被注释内容

  多行注释:""" 被注释内容 """

 

1.7 python字符编码

ascii用1个字节(8位二进制)代表一个字符

unicode    utf-32 一个字符 占   4个字节  
unicode    utf-16   一个字符    占 2个字节  
utf-8    可变长的字符编码 一个英文占一个字节,一个中文占3个字节
编码时在前面加入
#_*_ coding:utf-8 _*_
 

1.8 python用户交互及格式化打印

#!/usr/bin/env pvthon
# -*- coding:utf-8 -*-

name = input("name:")
age = int(input("age:"))
job = input("job:")
hobby = input("hobby:")

info = '''
---------  info of %s   -----------
name : %s
age  : %d
job  : %s
hobby: %s
--------------end--------------------
'''%(name,name,age,job,hobby)

print(info)

info2 = '''
---------- info3 of {_name}  --------------
name : {_name}
age  : {_age}
job  : {_job}
hobby: {_hobby}
'''.format(_name=name,_age=age,_job=job,_hobby=hobby)

print(info2)

info3 = '''
---------- info2 of {0}  --------------
name : {1}
age  : {2}
job  : {3}
hobby: {4}
'''
print(info3)

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import getpass

# 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:")

# 打印输入的内容
print(pwd)

提示:getpass在pycharm里不兼容。

猜年龄

#!/usr/bin/env python
# -*- coding: utf-8 -*-

age_of_oldboy = 56
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
    print("yes,you got it")
elif guess_age > age_of_oldboy:
    print("think smaller!")
else:
    print("think bigger!")

while循环

#!/usr/bin/env python
# -*- coding: utf-8 -*-

age_of_oldboy = 56
count = 0
while count < 3 :
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("yes,you got it")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller!")
    else:
        print("think bigger!")
    count += 1
    if count == 3:
        guess_confirm = input("do you want keep playing? y/n:")
        if guess_confirm == 'n':
            count = 0
else:
    print("fuck")
 

for循环

#!/usr/bin/env python
# -*- coding: utf-8 -*-
for i in range(10):
    print("--------",i)
    for j in range(10):
        print(j)
        if j > 5:
            break
 
 
 

python基础一的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  10. python基础之编码问题

    python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...

随机推荐

  1. java多线程系类:JUC原子类:04之AtomicReference原子类

    概要 本章对AtomicReference引用类型的原子类进行介绍.内容包括:AtomicReference介绍和函数列表AtomicReference源码分析(基于JDK1.7.0_40)Atomi ...

  2. js 检测页面刷新或关闭

    window.onbeforeunload=function(){ //要提交的内容 return "随意写";//必须有return ,不然只有ie有效,chrome无效 }

  3. 详解 Android Activity 生命周期

    从以下几个方面详细说一下Activity的生命周期: 1.回到主屏幕再打开和退出程序的时候. 2.屏幕旋转的时候. 3.打开其它的Activity的情况. 4.打开一个Layou透明的Activity ...

  4. 一个简单的Linq to TreeNode

    最近两天写单元测试,碰到需要验证一个树是否是期望的,但是树这个结构要验证起来还真是有点烦... 我的树大概是这样的: class TreeNode<T> { ]; public TreeN ...

  5. Spark在Ubuntu中搭建开发环境

    一.在Windows7中安装Ubuntu双系统 工具/原料   windows7 64位 ubuntu 16.04 32位 UltraISO最新版(用来将镜像文件烤到U盘中) 空U盘(若有文件,请先备 ...

  6. python基础-修改haproxy配置文件

    需要掌握的知识: 1.函数 2.文件处理 3.tag的用法 4.程序的解耦 需求: 1:查询 2:添加 3:删除 4:修改 5:退出 haproxy.conf 配置文件内容: global log 1 ...

  7. 【转】通过自定义的URL Scheme启动你的App

    http://blog.csdn.net/ba_jie/article/details/6884818原文地址:http://iphonedevelopertips.com/cocoa/launchi ...

  8. .net项目在linux平台的CI流程(基于Jenkins+mono+jexus)

    内容较多,主要分为以下4方面内容: Jenkins的安装部署(centos 7+) .net在linux平台CI流程所需的插件管理&配置 Jenkins配置连接Gitlab(也可使用对应插件连 ...

  9. jsoup-处理html中的script数据

    /** * 价值在线数据-左边分类抓取 * http://www.valueonline.cn/laws/laws?typeid=96219074211635284 * @author hwaggLe ...

  10. gulp同步执行任务

    使用插件:gulp-sync,npm install --save-dev gulp-sync 使用方法参考:https://www.npmjs.com/package/gulp-sync 这些插件也 ...