第一章:基础知识
1.1 安装python。
直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell就可以编程了,还有这个默认的shell真是丑。
1.2 交互式解析器
输出 print("Hello World!\n")
也可以print("AAAAA"); 就是后面加不加;无所谓,本身是不用加的。
1.3 算法是什么?
这个不解释了。
1.4 数字和表达式
和之前的语言有些不同,这个东西直接输入1+2*3 就输出7了,首先他的计算是类似计算器的输入。同时注意整数除法的地方,3.0之前的版本 输入1/2 会输出0,而之后会输出0.5,当然3.0之前可以1.0/2.0 这样变成浮点型,书上说如果想在3.0之前版本执行 1/2=0.5 要提前输入from __future__ import division 而且无论什么模式下,要想强行执行整数除法可以采用双斜线 5//2=2 5.2//2.0=2 还有一个比较特别3.1//0.15=30,同样是执行整除,一些云算法和别的语言一样 =-*/%还有一些特别的符号乘方 2**3=8 ,-3**2=-9 ,(-3)**2=9 后连个是因为优先级问题。
长整型
如果是2.2版本之前,长整形后面要加L 比如1000000000L+1000000000L=2000000000L只后的版本不用管,直接写就行了。
最大支持的整型
我不知道他最大支持多少,百度了下,说是语言没限制,只要电脑支持,我随便撸了一个乘法123456789123456789123456789*123654789658451651565615646545655555=15266023290968870905006601420426154865036202250998471720312895
进制
16进制 输入0xAF 输出 175 运算 0xAA+10=180
8进制 0o123
2进制 0b111
变量
变量不区分浮点还是整,比如a=111 b=111.5 a+b=222.5
1.7 输入输出
>>> x=input("x:")
>>> 40
>>> y=input("y:")
>>> 10
>>> x+y
>>> '4010'
>>> x = int(x)
>>> y = int(y)
>>> x+y
>>> 50
1.8 函数10+pow(3,5) = 253
abs(-10) = 10
1.9模块 (可以理解成头文件载入,或者是引入)
import math (载入math)
math.floor(32.9) = 32 向下取整
math.ceil(10.1) = 11 向上取整
直接加载某个函数,而不用 模块.函数的调用方式是
from 模块 import 函数
如 from math import sqrt
sqrt(10) = 3.16227760183795
1.9.1 cmath和复数
math.sqrt(-1)会报错,因为结果是复数
可以使用cmath.sqrt(-1) = 1J
*J是复数的表达方式,Python本身就支持复数的
(1+3J)*(9+4J) = (-3+31j)
1.9.1 回到 __future__
通过他可以导入那些未来会成为Python标准的组成部分的新特征(额...)
1.10 保存并执行程序
直接创建一个文本文件 名字AAA.py
内容
print("hello xxx!\n")
运行可以两种方式,如果是通过shell创建的,那么可以直接在编辑器中点击run里面的run module 否则就直接 找到安装路径的那个 python.exe 给他cmd传一个py文件的路径做参数调用它就行了。
windows下直接双击*.py也可以执行,因为安装的时候文件关联应该已经关联上了,举个例子
test.py
{
name = input("name:")
print("your name is" + name + "!")
input("Press<enter>")
}
注释用 #
1.11
1.11.1 字符串
首先"AAA" 和‘AAA’ 没有区别
输入"AAA" 出书 'AAA' ,输入'AAA'还是输出'AAA'
输入 "Let's Go" 解析器无奈只能输出 "Let's Go"
其实应该这样 "Let\'s Go" 输出 "Let's Go" 用\转意还是比较好的
如果想输出" 则输入 "\"aaa" 输出 '"aaa'
1.11.2 字符拼接用+
x="aaa"
y="bbb"
c=x+y
1.11.3 字符串表示,str和repr
str 会把值转换为合理形式的字符串,以便用户可以理解。
repr会创建一个字符串,他以合法的Python表啊但是的形式表示值。
>>> sss="aaa"
>>> print(sss)
aaa
>>> print (str(sss))
aaa
>>> print(repr(sss))
'aaa'
1.11.4 input和raw_input比较
貌似现在3.4不能用raw_input了运行不了。 raw_input应该是强行输入的编程字符串,新版本的python应该默认都是字符串了
1.11.5 长字符串、原始字符串和Unicode
(1)跨行的长字符串可以这么表示'''***'''或者"""***"""
不用三个'(")也可以多行,这样
{
print ("Hello, World!\
\n")
print (1+2\
+4)
}
(2)原始字符串 用r"" 相当于C#里的@"" ,处理路径等问题
>>> print (r"aaaa\n")
aaaa\n
(3)Unicode用前缀u表示(默认是ASCII8位,Unicode是16位)
>>> print (u"aaaa")
aaaa