1. Python介绍:

发明者:Guido

应用范围:网络应用、科学运算、GUI程序、系统管理工具、其他程序

优势:简单易懂、开发效率高、高级语言、可移植性、可扩展性、可嵌入性。

缺点:速度慢,代码不能加密,线程不能利用多CPU问题。

2. "Hello World"

创建一个文件名为,myFirstPyProgram.py

vi myFirstPyProgram.py

#!/usr/bin/env python

print “Hello,World!”

print “Goodbye,World!”

保存后执行:

$  python myFirstPyProgram.py

Hello,World!

Goodbye, World!

3.数据类型

一个程序要运行,就要先描述其算法。描述一个算法应先说明算法中要用的数据,数据以变量或常量的形式来描述。每个变量或常量都有数据类型。Python的基本数据类型有5种: 整型(int), 浮点型(float), 字符型(string), 布尔型(bool),空值(None).

-整数

Python可处理任意大小的整数,在程序中的表示方法和数学上的写法完全一样。

-浮点数

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.233.14-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

-字符串

字符串是以''或""括起来的任意文本,比如'abc'"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有abc这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I'm,空格,OK这6个字符。

-布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来。

-空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

算术运算

以下例子a = 10 , b= 20

运算符

描述

示例

+

加法运算

a + b 得 30

-

减法运算

a - b 得 -10

*

乘法运算

a * b 得 200

/

除法运算

b / a 得 2

%

取模 - 将%号左边的值除以%号右边的值并且将得到的结果的余数返回

10%5得0 ,10%3 得1, 20%7 得6

**

幂 - 返回x的y次幂,就是返回多少次方

2**8 得256

//

取整除 - 返回x除以y的商的整数部分

9//2得4 , 9.0//2.0得4.0

比较运算

以下例子a = 10 , b= 20

运算符

描述

示例

==

判断两个对象是否相等

(a == b) is not true.

!=

判断两个对象是否不相等

(a != b) is true.

<>

判断两个对象是否不相等

(a <> b) is true. 与 != 运算符一样.

>

大于 - 返回a是否大于b

(a > b) is not true.

<

小于 - 返回a是否小于b

(a < b) is true.

>=

大于等于 - 返回a 是否大于等于b

(a >= b) is not true.

<=

小于等于 - 返回a 是否小于等于b

(a <= b) is true.

 

赋值运算

运算符

描述

示例

=

赋值 - 将右边的值赋值给左边的变量名

c = a + b 将会把a+b的结果赋值给c

+=

自加赋值 - 将+=号左边的值与+=号右边的值相加,然后再把结果赋值给+=号左右的值

c += a相当于 c = c + a

-=

自减赋值

c -= a相当于 c = c - a

*=

自乘赋值

c *= a 相当于 c = c * a

/=

自除赋值

c /= a 相当于 c = c / a

%=

自取模赋值

c %= a 相当于 c = c % a

**=

自求幂赋值

c **= a 相当于 c = c ** a

//=

自取整赋值

c //= a 相当于 c = c // a

4. 变量与常量

name = "Mo"

name2 = name

print(name,name2)

name = 'MS'
print(name,name2)

分析:

  1. .  定义 name=”Mo”,解释器创建了字符串”Mo”和变量 name,并把 name 指向了”Mo”

  2. 执行 name2=name,解释器创建了 name2 变量,并把 name2 指向了 name 变量所指向

    的字符串

  3. 这时通过 id 内置函数来查看一下这两个变量分别指向的内存地址,结果都是指向了同 一地址。

  4. 执行 name=”MS”,解释器创建一个新的变量,并把 name 的指向改成了”MS”

  5. 此时再查看两个变量的内存地址指向就会发现,name 的指向已经变成了一个新的地址,

    也就是”MS”所在内存地址,但是 name2 依然还是指向原来的”Mo”。

 

5. 循环以及条件判断-If else/If elif else/for

登陆接口:输入用户名密码 ,都正确打印欢迎信息,未满足都正确的条件则打印失败通知。

user = 'monica'
passwd= 'mocha'

username = input("username:")
password = input("password:")

if user == username and passwd == password:
    print("Welcome login")
else:
   print("Invalid username or password..")

For循环+条件判断-猜年龄: 三次以内猜对退出循环;猜数字高了或者低了会给提醒(用if,elif,else), 第三次询问是否继续,是则继续循环,不继续则退出循环(if,else)。 

age = 22
counter = 0
for i in range(10):
    print('-->counter:',counter)
    if counter <3:
        guess_num = int( input("input your guess num:") )
        if guess_num == age :
            print("Congratulations! you got it.")
            break #不往后走了,跳出整 个loop
        elif guess_num >age:
            print("Think smaller!")
        else:
            print("Think larger...")
    else:
        continue_confirm = input("Do you want to continue because you are stupid:")
        if continue_confirm == 'y':
            counter = 0
            continue
        else:
            print("bye")
            break

counter += 1 #counter = counter + 1

6. 制作个人信息表(%s)

name = input("input your name:")
age = int(input("input your age:") ) #convert str to int
job = input("input your job:")

msg = '''
Infomation of user %s:
---------------
Name: %s
Age : %s
Job : %s
-------End-----
''' % (name,name,age,job )
print(msg)

7. 关于取得密码,写文件、模块

getpass: Prompt the user for a password without echoing:

import getpass
username = input("username:")
password = getpass.getpass("password:")
print(username,password)

os: This module provides a portable way of using operating system dependent functionality.

import os

os.system('df')

os.mkdir('yourDir')
cmd_res = os.popen("df -h").read()

sys: This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.

import sys
print(sys.path)
#'/usr/lib/python2.7/dist-packages' 自己写的模块

Python笔记总结week1的更多相关文章

  1. Python笔记之不可不练

    如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...

  2. boost.python笔记

    boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...

  3. 20.Python笔记之SqlAlchemy使用

    Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...

  4. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  5. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  6. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  7. python笔记 - day8

    python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...

  8. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  9. python笔记 - day7

    python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...

随机推荐

  1. NOI 动态规划题集

    noi 1996 登山 noi 8780 拦截导弹 noi 4977 怪盗基德的滑翔翼 noi 6045 开餐馆 noi 2718 移动路线 noi 2728 摘花生 noi 2985 数字组合 no ...

  2. 三元运算与lambda表达式

    #三元运算,就是对if else的简写 if 1 == 1: print("jasper") else: print("sb") 三元运算写法 name=&qu ...

  3. UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果

    上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件 ...

  4. python之SQLAlchemy

    ORM介绍 orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为 ...

  5. 把CentOS 7.x网卡名称eno16777736改为eth0

    CentOS 7.x系统中网卡命名规则被重新定义,可能会是"eno167777xx"等,下面我们把网卡名称改为eth0这种. 一.cd  /etc/sysconfig/networ ...

  6. 图解说明——究竟什么是Windows句柄

    图解说明——究竟什么是Windows句柄 参考资料:http://blog.csdn.net/newjerryj/article/details/4383701 http://www.cnblogs. ...

  7. python os模块(2)

    os模块主要用于:目录.文件(删除.判断.分割文件名和后缀) 目录 (1)获取当前目录(2)修改目录(3)生成目录(4)删除目录(5)查看目录下的内容(6)重命名目录(7)修改时间属性(8)链接目录( ...

  8. 【分享】图解Windows Server 2012 R2 配置IIS 8全过程

    最近计划更换服务器,包括IIS服务器与数据库服务器,操作系统都是Windows Server 2012 R2,第一次接触Windows Server 2012,感觉比较新鲜,一路摸索完成了IIS 8 ...

  9. P与NP问题

    Polynomial Nondeterministic Polynomial P问题: 一个问题可以在多项式时间复杂度内解决 NP问题: 一个问题可以在多项式时间内证实或者证伪 NP-Hard问题: ...

  10. linux应用程序开发-进程程序设计

    学习之前必须了解基本的概念: 进程,线程,进程3种状态,进程调度以及4种算法,进程同步,死锁,记不清的找度娘. 获取ID #include<sys/types.h> #include< ...