一步一步学Python-基础篇
1、安装
地址:https://www.python.org/downloads/windows/
安装完成过后,配置环境变量,比如:path后面计入;C:\Python27(可能需要重启一下)
然后cmd输入python,显示如下,说明安装成功
2、基础知识(记录写特列)
0、空值是Python里一个特殊的值,用None
表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
1、字符串:用单引号或双引号都行,比较特殊的是三个单引号是多行文本,中间可以换行
2、如果字符串包含很多转移的字符,可以用r'23\wer\2'可以加r前缀,相当于c#里的@
3、如果打印有乱码可以使用print u'中文'加u前缀,以Unicode表示的字符串
4、u、r这些可以结合起来用,比如:
ur'''Python的Unicode字符串支持"中文",
"日文",
"韩文"等多种语言'''
5、py文件可以填一行# -*- coding: utf-8 -*-告诉Python解析器,以utf-8编码读取源码
6、if else语法
if age >= 18:
print 'adult'
else:
if age >= 6:
print 'teenager'
else:
print 'kid'
7、循环
L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name
N = 10
x = 0
while x < N:
print x
x = x + 1
sum = 0
x = 1
while True:
sum = sum + x
x = x + 1
if x > 100:
break
print sum
for x in L:
if x < 60:
continue
sum = sum + x
n = n + 1
for x in ['A', 'B', 'C']:
for y in ['', '', '']:
print x + y
8、字典
# 字典特点 dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。由于dict是按 key 查找,所以,在一个dict中,key不能重复
# 定义字典
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
# 访问
print d['Adam']
# 判断key是否存在
if 'Paul' in d:
print d['Paul']
#使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None
print d.get('Bart')
#更新
d['Paul'] = 72
#遍历
for key in d:
print key
#遍历value
for v in d.values():
print v
9、元祖
t = ('Adam', 'Lisa', 'Bart')
t[0] = 'Paul'
#因为()既可以表示tuple,又可以作为括号表示运算时的优先级
>>> t = (1,)
>>> print t
(1,)
# 元祖可包含list
t = ('a', 'b', ['A', 'B'])
L = t[2]
>>> L[0] = 'X'
>>> L[1] = 'Y'
>>> print t
('a', 'b', ['X', 'Y'])
10、set
#由于set存储的是无序集合,所以我们没法通过索引来访问。
s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
#用 in 操作符判断,返回True
'Bart' in s
#遍历
s = set(['Adam', 'Lisa', 'Bart'])
for name in s:
print name
#添加
s = set([1, 2, 3])
s.add(4)
#不存在remove会报错
s.remove(7)
11、函数
# 返回多值
import math
def move(x, y, step, angle):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
#调用
x, y = move(100, 100, 60, math.pi / 6)
print x, y
151.961524227 70.0
#递归
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
#默认参数
def power(x, n=2,c=4):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
#跳过调用
power(1,c=3)
#可变参数,直接把变量 args 看成一个 tuple 就好了
def fn(*args):
print argsdef
func
(a, b=
5
, c=
10
):
'a is'
, a,
'and b
is', b,
'and c is'
,
cfunc(
3
,
7
)
func(
25
, c=
24
)
func(c=
50
, a=
100
)
11、DocStrings
def printMax(x, y):
'''打印我的文档内容Prints the maximum of two numbers.
The two values must be integers.'''
x = int(x) # convert to integers, if possible
y = int(y) if x > y:
print x, 'is maximum'
else:
print y, 'is maximum' printMax(3, 5)
print printMax.__doc__
11、切片
L = ['Adam', 'Lisa', 'Bart', 'Paul']
#取前三个元素,值是负数的话就是倒序取值
L[0:3]
#如果第一个索引是0,还可以省略
L[:3]
#只用一个 : ,表示从头到尾,相当于复制了一个
L[:]
#切片操作还可以指定第三个参数
L[::2] # 表示没两个元素取一个,第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。
L[:2:2] #表示前两个元素没两个取一个,也就是Adam
#对字符串切片
>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[-3:]
'EFG'
>>> 'ABCDEFG'[::2]
'ACEG'
#range()函数可以创建一个数列
range(1, 101)
[1, 2, 3, ..., 100] r = []
n = 3
for i in range(n):
r.append(L[i])
说明:部分内容来自慕课网和Python手册内容
一步一步学Python-基础篇的更多相关文章
- python基础篇(二)
PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...
- python基础篇(一)
PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...
- python基础篇(六)
PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...
- python基础篇-day1
python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...
- python基础篇之进阶
python基础篇之进阶 参考博客:http://www.cnblogs.com/wupeiqi/articles/5115190.html python种类 1. cpython 使用c解释器生产 ...
- python基础篇(五)
PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...
- python基础篇(三)
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...
- python基础篇(四)
PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...
- Python基础篇--输入与输出
站长资讯平台:Python基础篇--输入与输出在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和输出输出输入END在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和 ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
随机推荐
- 基础Network Request
1:NSData + NSURL - (void)FF_LoadImageWithURLString:(NSString *)urlStr imageBlock:(ImageBlock)imageRe ...
- Windows搭建Nexus3私服
1. Nexus 简介 Nexus 是一个强大的 Maven 仓库管理器 , 它极大地简化了自己内部仓库的维护和外部仓库的访问 ; 利用 Nexus 你可以只在一个地方就能够完全控制访问和部署在你所维 ...
- react-router-dom 手动控制路由跳转
基于 react-router 4.0 版本,我们想要通过 JS 手动控制路由跳转,分三步: 第一步:引入 propTypes const PropTypes = require('prop-type ...
- java在编译期和运行期都做了什么
Java对象内存存储,引用传递,值传递详细图解 java对象在内存中的分配 编译过程: 编译器把一种语言规范转化为另一种语言规范的这个过程需要哪些步骤?回答这个问题需要参照<编译原理>,总 ...
- Jmeter之Bean shell使用
转载地址:http://www.cnblogs.com/puresoul/p/4915350.html 一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且 ...
- HTML简单登录和注册页面及input标签诠释
今天第一次接触HTML这种语言,虽然不能完全理解其中的意思,过去学的英语单词几乎也忘了差不多了,但是感觉进入这门语言学习之后就没有那么难了,一步一步来吧!下面巩固下今天学内容: HTML是一种超文本标 ...
- (原创)确保JAVA线程安全的4种常用方法
在Java中可以有很多方法来保证线程安全,比如使用同步方法.同步块,使用原子类(atomic concurrent classes),实现并发锁,使用volatile关键字,使用不变类和线程安全类. ...
- Eclipse for android 实现代码自动提示智能提示功能
Eclipse for android 实现代码自动提示智能提示功能,介绍 Eclipse for android 编辑器中实现两种主要文件 java 与 xml 代码自动提示功能,解决 eclips ...
- KBEngine 安装
其实这篇的内容官方文档都有, 但是既然打算记录一下学习笔记, 也就先从安装开始了. 一 下载源代码 进入github下载最新release的源码压缩包. windows选择zip, 下载完成之后右键解 ...
- MySQl资料链接
原文:http://www.uml.org.cn/sjjm/sjjm-MySql.asp MySQl MySQL高可用数据库内核深度优化的四重定制 MySQL数据表存储引擎类型及特性 My ...