1.解释型(无编译环节)、面向对象、动态数据类型、交互式( Python 提示符 >>> 后直接执行代码)
2.
#!/usr/bin/python 指定本脚本用什么解释器来执行
#!/usr/bin/env python 会去环境设置寻找 python 目录
3.Python官网:https://www.python.org/
4.配置环境变量
在环境变量中添加Python目录:
在命令提示框中(cmd) : 输入
path=%path%;C:\Python
1.交互式解释器
Consol中到python安装目录,运行
C:\soft\python>python
>>> print "Alice "
Alice
2.命令行脚本
python alice2.py
3.集成开发环境IDE PyCharm
PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/
PyCharm 安装地址:http://www.runoob.com/w3cnote/pycharm-windows-install.html
加入#coding=utf-8
字母、数字、下划线,不可以数字开头,区分大小写
_foo
不能直接访问的类属性
__foo
类的私有成员
__foo__
Python 里特殊方法专用的标识,如 init() 代表类的构造函数
python可以一行多条语句,用分号;
分开
>>> print 'hello';print 'alice';
hello
alice
代码块必须包含相同缩进空白数量
建议你在每个缩进层次使用 单个制表符tab 或 两个空格 或 四个空格
raw_input("按下enter键退出,其他任意键显示...\n") #\n是换行
import sys; x = 'alice'; sys.stdout.write(x + '\n')
不换行输出 print a,b #加逗号,
以关键字开始,以冒号:
结束
if expression :
suite
elif expression :
suite
else :
suite
python alice2.py argv1 argv2 argv3
import sys
print "参数个数为",len(sys.argv),"个参数。"
print "参数列表:",str(sys.argv)
print "脚本名:",sys.argv[0]
getopt模块
待学…
Python 中的变量赋值不需要类型声明
counter=100 #赋值整型变量
mils=1000.0 #浮点型
name="Alice" #字符串
print counter
print mils
print name
100
1000.0
Alice
a=b=c=1
d,e,f=1,2,"alice"
Python五个标准数据类型:
Numbers(数字) 不可改变的数据类型,意味着改变数据数字类型会分配一个新的对象
String (字符串)
List (列表)
Tuple(元组)
Dictionary (字典)
int(有符号整型)
long (长整型,也可代表八进制和十六进制) Python3.0X int 溢出后自动转为long类型
float (浮点型)
complex (复数)
int | long | float | complex |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
A | L | I | C | E |
---|---|---|---|---|
0 | 1 | 2 | 3 | 4 |
-5 | -4 | -3 | -2 | -1 |
以[头下标:尾下标]来截取,获取的子字符串包含头下标字符,不包含尾下标字符;下标可为空表示取到头或尾
s="abcdefg"
print s[1:5]
print s[1]
print s[1:]
print s * 2 # *号是重复操作
print s+"Alice" #加号 +是字符串接连运算符
print s[1:5:2] #第三个参数是步长
bcde
b
bcdefg
abcdefgabcdefg
abcdefgAlice
bd
支持字符、数字、字符串甚至可以包含列表(即嵌套)
list=['Alice',786,2.30,'Alice2',70.2]
tinylist=[123,"Alice3"]
print list
print list[0]
print list[1:3]
print list[2:]
print tinylist*2
print list+tinylist
['Alice', 786, 2.3, 'Alice2', 70.2]
Alice
[786, 2.3]
[2.3, 'Alice2', 70.2]
[123, 'Alice3', 123, 'Alice3']
['Alice', 786, 2.3, 'Alice2', 70.2, 123, 'Alice3']
不能二次赋值,相当只读列表
tuple=('Alice1',789,2.34,'Alice2',70.2)
tinytuple=(123,'Alice3')
print tuple
print tuple[0]
print tuple[1:3]
print tuple[2:]
print tinytuple*2
print tuple+tinytuple
('Alice1', 789, 2.34, 'Alice2', 70.2)
Alice1
(789, 2.34)
(2.34, 'Alice2', 70.2)
(123, 'Alice3', 123, 'Alice3')
('Alice1', 789, 2.34, 'Alice2', 70.2, 123, 'Alice3')
列表是有序的对象集合,字典是无序的对象集合
dict={}
dict[1]="This is Alice1"
dict['Two']="This is Alice2"
tinydict={'name':'Alice','age':'18','tall':'168.1'}
print dict['Two']
print dict[1]
print tinydict
print tinydict.keys()
print tinydict.values()
This is Alice2
This is Alice1
{'tall': '168.1', 'age': '18', 'name': 'Alice'}
['tall', 'age', 'name']
['168.1', '18', 'Alice']
将数据类型作为函数名
a=5
b=4
c=0
c=a+b
print "a+b=",c
c=a-b
print "a-b=",c
c=a*b
print "a*b=",c
c=a/b #除
print "a/b=",c
c=a%b #取模-返回出发的余数
print "a%b=",c
a=5
b=2
c=a**b #幂,返回a的b次幂
print "a**b=",c #取整除-返回商的整数部分
c= a//b
print "a//b=",c
等等
Python中非空(null)和非0的值为true;0或null为false;
if语句的判断条件可以用>,<,==,>=,<=来表示其关系。
多个条件需同时判断,使用or(或)或者and(和)
a=1
while a<7:
if (a%2 == 0):
print(a,"is even")
else:
print(a,"is odd")
a += 1
#结果:
(1, 'is odd')
(2, 'is even')
(3, 'is odd')
(4, 'is even')
(5, 'is odd')
(6, 'is even')
num=5
if num==3:
print 'boss'
elif num==2:
print 'user'
elif num==1:
print 'worker'
elif num<0:
print 'error'
else:
print 'Error'
#结果:
Error
num=9
if num>=0 and num<=10:
print 'hello'
num=10
if num<0 or num>10:
print 'hello'
else:
print 'underfine'
num=8
if (num>=0 and num<=5) or (num>=10 and num<=15):
print 'hello'
else:
print 'undefine'
结果:
hello
underfine
undefine
a=1
while a<10:
print (a)
a+=2
结果:
1
3
5
7
9
numbers=[12,37,5,42,8,3]
even=[]
odd=[]
while len(numbers)>0:
number=numbers.pop()
if(number%2==0):
even.append(number)
else:
odd.append(number)
print "even=",even
print "odd=",odd
结果:
even= [8, 42, 12]
odd= [3, 5, 37]
循环控制语句break、continue
i=1
while i<10:
i+=1
if i%2>0:
continue
print i
结果:
2
4
6
8
10
i=1
while 1:
print i
i+=1
if i>10:
break
结果:
1
2
3
4
5
6
7
8
9
10
循环使用else语句
count=0
while count<5:
print count,"is less than 5"
count=count+1
else:
print count,"is not less than 5"
结果:
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5
Python for 循环可以遍历任何序列项目,如一个列表或者一个字符串
for letter in 'Python':
print '当前字母:',letter
fruits=['banana','apple','mango']
for fruit in fruits:
print '当前水果:',fruit
结果:
当前字母: P
当前字母: y
当前字母: t
当前字母: h
当前字母: o
当前字母: n
当前水果: banana
当前水果: apple
当前水果: mango
通过序列索引迭代
fruits=['banana','apple','mango']
for index in range(len(fruits)):
print '当前水果:',fruits[index]
结果:
当前水果: banana
当前水果: apple
当前水果: mango
循环使用else语句
for num in range(10,20): #迭代10-20之间的数字
for i in range(2,num):
if num%i==0:
j=num/i
print '%d 等于 %d*%d'%(num,i,j)
break
else:
print num,'是一个质数'
结果:
10 等于 2*5
11 是一个质数
12 等于 2*6
13 是一个质数
14 等于 2*7
15 等于 3*5
16 等于 2*8
17 是一个质数
18 等于 2*9
19 是一个质数
i=2
while(i<100):
j=2
while(j<=(i/j)):
if not(i%j): break
j=j+1
if (j>i/j): print i," 是素数"
i=i+1
结果:
2 是素数
3 是素数
5 是素数
7 是素数
11 是素数
13 是素数
17 是素数
19 是素数
23 是素数
29 是素数
31 是素数
37 是素数
41 是素数
43 是素数
47 是素数
53 是素数
59 是素数
61 是素数
67 是素数
71 是素数
73 是素数
79 是素数
83 是素数
89 是素数
97 是素数
终止循环语句,停止执行最深层的循环,并开始执行下一行代码
for letter in 'Python':
if letter=='h':
break
print '当前字母:',letter
var=10
while var>0:
print '当前变量值',var
var=var-1
if var==5:
break
print "Good Bye!"
结果
当前字母: P
当前字母: y
当前字母: t
当前变量值 10
当前变量值 9
当前变量值 8
当前变量值 7
当前变量值 6
Good Bye!
用来告诉Python跳过当前循环剩余语句,然后继续进行下一轮循环
Continue是个删除的效果,删除满足循环条件下某些不需要的成分
for letter in 'Python':
if letter == 'h':
continue
print '当前字母:',letter
var=10
while var>0:
var=var-1
if var==5:
continue
print '当前变量值:',var
结果:
当前字母: P
当前字母: y
当前字母: t
当前字母: o
当前字母: n
当前变量值: 9
当前变量值: 8
当前变量值: 7
当前变量值: 6
当前变量值: 4
当前变量值: 3
当前变量值: 2
当前变量值: 1
当前变量值: 0
是空语句, 保证程序结构的完整性
不做任何 事情, 一般做占位语句
def alice(alice):
pass
数据类型用来存储数值,数据类型不允许改变,改变Number数据类型的值,将重新分配内存空间
var1=10
var2=12
var3=13
#可以通过del语句删除多个Number对象引用
del var1
del var2,var3
Python支持四种不同的数据类型:
int(x [,base])
long(x [,base])
float(x)
complex(real [,imag])
str(x) #转换为字符串
repr(x) #转换为表达式字符串
eval(str) #用来计算在字符串中有效Python表达式,并返回会一个对象
tuple(s) #将序列s转换为一个元组
list(s) #将序列s转换为一个列表
chr(x) #将一个整数转换为一个字符
unichr(x) #将一个整型转换成Unicode字符
ord(x) #将一个字符转换为他的整数值
hex(x) #将一个整数转换为一个十六进制
oct(x) #将整型转换成八进制字符串
math 对浮点数数学运算函数
cmath 用于复数的运算的函数
使用前必须先导入 import math
查看math包中的内容:
>>> import math
>>> dir(math)
['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
import cmath
print cmath.sqrt(-1)
print cmath.sqrt(9)
print cmath.sin(1)
print cmath.log10(100)
结果:
1j
(3+0j)
(0.841470984808+0j)
(2+0j)
abs(x) #返回数字的绝对值
ceil(x) #返回数字的上入整数 例如math.ceil(4.1)返回5
cmp(x,y) #如果xy,返回1
exp(x) #返回e的x次幂
fabs(x) #返回数字的绝对值 math.fabs(-10) 返回10.0
floor(x) #返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) #如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) #返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...) #返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) #返回给定参数的最小值,参数可以为序列。
modf(x) #返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) #x**y 运算后的值。
round(x [,n]) # 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) #返回数字x的平方根
import random
choice(seq) # 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。seq可以是列表、元组或字符串
randrange ([start,] stop [,step]) #start -- 指定范围内的开始值,包含在范围内。
#stop -- 指定范围内的结束值,不包含在范围内。
#step -- 指定递增基数。
import random
# 输出 100 <= number < 1000 间的偶数
print "randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2)
# 输出 100 <= number < 1000 间的其他数
print "randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3)
结果:
randrange(100, 1000, 2) : 938
randrange(100, 1000, 3) : 886 #886-100=786为3的倍数
pi #数学常量 pi(圆周率,一般以π来表示)
e #数学常量 e,e即自然常数(自然常数)。
字符串是Python最常用的数据类型,可以用引号(‘或者’’)来创建字符串
var1='hello world'
var2=''Python Rundo''
可以在for内嵌套while,可以在while内嵌套for
pycharm快捷键及一些常用设置:
Alt+Enter 自动添加
shift+O 自动建议代码补全
Ctrl+t SVN更新
Ctrl+k SVN提交
Ctrl + / 注释(取消注释)选择的行
Ctrl+Shift+F 高级查找
Ctrl+Enter 补全
Shift + Enter 开始新行
TAB Shift+TAB 缩进/取消缩进所选择的行
Ctrl + Alt + I 自动缩进行
Ctrl + Y 删除当前插入符所在的行
Ctrl + D 复制当前行、或者选择的块
Ctrl + Shift + J 合并行
Ctrl + Shift + V 从最近的缓存区里粘贴
Ctrl + Delete 删除到字符结尾
Ctrl + Backspace 删除到字符的开始
Ctrl + NumPad+/- 展开或者收缩代码块
Ctrl + Shift + NumPad+ 展开所有的代码块
Ctrl + Shift + NumPad- 收缩所有的代码块
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
一个具有注脚的文本。1
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎