Python笔记总结week1
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.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
-字符串
字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
-布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。
-空值
空值是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)
分析:
. 定义 name=”Mo”,解释器创建了字符串”Mo”和变量 name,并把 name 指向了”Mo”
执行 name2=name,解释器创建了 name2 变量,并把 name2 指向了 name 变量所指向
的字符串
这时通过 id 内置函数来查看一下这两个变量分别指向的内存地址,结果都是指向了同 一地址。
执行 name=”MS”,解释器创建一个新的变量,并把 name 的指向改成了”MS”
此时再查看两个变量的内存地址指向就会发现,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的更多相关文章
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
- boost.python笔记
boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...
- 20.Python笔记之SqlAlchemy使用
Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...
- Python笔记——类定义
Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...
- 13.python笔记之pyyaml模块
Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...
- 8.python笔记之面向对象基础
title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...
- python笔记 - day8
python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...
- python笔记 - day7-1 之面向对象编程
python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...
- python笔记 - day7
python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...
随机推荐
- 使用XSHELL连接EC2虚拟机实例
sudo passwd root #输入2次密码给root用户设定密码 su - passwd ec2-user #输入两次密码给ec2-user用户设定密码 sed -ri 's/^#?(Passw ...
- Android守护进程
这几天,一位做Android的朋友和我探讨了一个问题:因为业务需求的原因,在自己的App长时间不使用被kill掉之后,如何让它再重新运行起来. 虽然,我本身很排斥这种做法,有点类似“流氓软件”的行为, ...
- Nginx添加到windows服务
在windows平台,把Nginx注册到服务,又可以启动.停止和重启的方法,网上并没找到好的办法. 既然如此,唯有自己写程序实现了 使用C#进行编写,有兴趣的可以下载源码自己改:源码下载(2016-1 ...
- UVA 11464 偶数矩阵
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 我为开源做贡献,网页正文提取——Html2Article
为什么要做正文提取 一般做舆情分析,都会涉及到网页正文内容提取.对于分析而言,有价值的信息是正文部分,大多数情况下,为了便于分析,需要将网页中和正文不相干的部分给剔除.可以说正文提取的好坏,直接影响了 ...
- srand()以及rand()函数用法
srand()就是给rand()提供种子seed 如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的, srand(n) for(10) rand()也就是说,以一个固定的数值作 ...
- 安卓解析json,使用BaseAdapter添加至ListView中,中间存储用JavaBean来实现
这是一个小练习,要求解析一个提供的json文件.并将其中的id,title值获取,以ListView形式展示出来.(开发工具是android studio) 下面开始: 首先我想到的是先把json文件 ...
- OSChina码云试用
首先在码云申请账户. 从 http://git-scm.com/download 下载window版的客户端.下载好,一步一步安装即可. $git config --global user.name ...
- 有关宏定义的bug
#define max(a,b) a>b?a:b 这个宏有诸多缺点:当调用比如max(3,2)*2时会出现不想要的结果.按理来说,我们想要得到的结果是:3*2=6,但是由于优先级的问题,得到的结 ...
- Windows 7 封装篇(一)【母盘定制】[手动制作]定制合适的系统母盘
Windows 7 封装篇(一)[母盘定制][手动制作]定制合适的系统母盘 http://www.win10u.com/article/html/10.html Windows 7 封装篇(一)[母盘 ...