开始学习《Python基础教程》

1.2 交互式解释器

按照书上的例子敲了个最简单的print函数,居然报错:

>>> print "fsdfs"
SyntaxError: Missing parentheses in call to 'print',上网查了一下,python 3和Python2的语法不一样,我按照的是3,但是书中的例子是2:

>>> print("fsdfs")
fsdfs
>>>

1.3 算法是什么

1.4 数字和表达式

1/2 = 0; // 除法

1.0 /2 = 0.5

1.0//2 = 0   // 双斜线表示整除

10%3 = 1    // 取模运算

2**3 = 8    // 幂运算

-3**2 = -9

1.4.1 

1.4.2 十六进制和八进制

十进制:0x开头

八进制:0o开头

1.5 变量

1.6 语句

1.7 获取用户输入

x = input("x:")

1.8 函数

pow(2,3)  和  2**3都是幂运算。

像pow这种标准函数叫做内建函数。

abs(-10)   = 10 , 表示取绝对值。

关于四舍五入的round函数:

(1)要求保留位数的后一位如果是4或者4以下的数字,则舍去, 例如 5.214保留两位小数为5.21。

(2)如果保留位数的后一位如果是6或者6以上的数字,则进上去, 例如5.216保留两位小数为5.22。

(3)如果保留位数的后一位如果是5,且该位数后没有数字。要根据保留位数的那一位决定是舍去还是进入:如果是奇数则进入,如果是偶数则舍去。例如5.215保留两位小数为5.22,5.225保留两位小数为5.22。

(4) 如果保留位数的后一位如果是5,且该位数后有数字。则进上去,例如5.2152保留两位小数为5.22,5.2252保留两位小数为5.23,5.22500001保留两位小数为5.23。

从统计学的角度,“奇进偶舍”比“四舍五入”要科学,在大量运算时,它使舍入后的结果误差的均值趋于零,而不是像四舍五入那样逢五就入,导致结果偏向大数,使得误差产生积累进而产生系统误差,“奇进偶舍”使测量结果受到舍入误差的影响降到最低。

>>> round(1.5)     //如果要保留的
2
>>> round(2.5)
2

>>> round(1.51)
2
>>> round(2.51)
3
>>>

1.9 模块

用法:import导入模块,然后按照“模块.函数”的格式使用这个模块的函数。

>>> import math
>>> math.floor(11.3)
11
>>> math.floor(11.9)
11

int( ) / long( ) / float( ) 函数:类型转换。

>>> from math import ceil
>>> ceil(5.6)   //  转成大于或等于他的最小整数
6

>>> from math import sqrt
>>> sqrt(5)             // 求算数平方根
2.23606797749979

19.1 cmath和复数

cmath就是complex math,复数的意思。

>>> import cmath
>>> cmath.sqrt(-1)
1j

注意:这里没有使用from ... import ...语句。因为一旦使用了这个语句,就没法使用普通的sqrt函数了。

如下,python本身支持复数运算

>>> (1 + 3j) * (9 +4J)
(-3+31j)
>>>

1.10 保存并执行程序

IDLE->file->new file->编译->save->RUn->Run module! 

name = input("what is your name?")
print("Hello" + name + "!")

1.10.1 通过命令提示符运行Python脚本

打开DOS提示符,进入包含Python可执行文件的目录,或者包含了这个可执行文件的目录已经放置在环境变量path中了。并且脚本文件也在这个目录中。

C:\python  hell.py

1.10.2 让脚本像普通程序一样运行

在PY文件最后加入下一行:

input("Press <enter>")

这样,就可以双击py文件来执行程序了。

1.10.3 注释

#:  右边的内容会被忽略

1.11  字符串

单引号和双引号括字符是一样的,但是,如下:

>>> 'let's go'             // 这里已经包含单引用了,再用单引号就报错。
SyntaxError: invalid syntax
>>> "let's go"           // 用双引号就没有问题
"let's go"

另外一种方法是:用转移字符

>>> 'let\'s go'
"let's go"

]

>>> "\"hellow workd\" she sadi "  // 同上述一样,双引号也可以用转义字符
'"hellow workd" she sadi '
>>>

1.11.2 拼接字符串

>>> x = "hello"
>>> y = "world"
>>> x + y
'helloworld'
>>>

1.11.3 字符串表示,str 和 repr

str和repr函数:

>>> "hello"
'hello'
>>> print("hello")
hello
>>> str("hello")
'hello'
>>> repr("hello")
"'hello'"
>>> print(str("hello"))
hello
>>> print(repr("hello"))
'hello'
>>>

1.11.5 长字符串,原始字符串和Unicode

(1) 长字符串:一个长字符串,需要跨多行,可以用三个单引号代替普通引号。

>>> str1='''
我是一个
长字符串'''
>>> str1
'\n我是一个\n长字符串'

当然,也可以用3个双引号

>>> str1="""我也是一个
长长
的字符串"""
>>> str1
'我也是一个\n长长\n的字符串'

如果一行之中最后一个字符是反斜杠,那么,换行符本身就转义了,也就是被忽略了。

>>> "hello \
world "
'hello world '
>>>

上述的反斜杠的用法也适用于表达式和语句:

>>> 1 + 2 + \
4 + 5
12
>>>

(2) 原始字符串

以r开头的的字符串,对反斜线不会特殊对待。

>>> print("Hello\nworld")  //  \n会被转义成换行
Hello
world
>>>

>>> path = 'c:\nowhere'          // 路径是c:\nowhere
>>> path
'c:\nowhere'                         // 看上去是对的
>>> print(path)                    // 可是打印出来后,就被转义了
c:
owhere
>>>

一种写法是用反斜线对斜线进行转义:

>>> path = 'c:\\nowhere'
>>> print(path)
c:\nowhere

但是对于长路径,上述方法要写很多反斜线。

可以用前缀为r的原始字符串:

>>> print(r"let\ngo")
let\ngo
>>>

>>> r"fafafsafasdfdads\"            // 原始字符串最后一个字符不能是反斜线
SyntaxError: EOL while scanning string literal

如果就想要一个以反斜杠结尾的字符串:

>>> print(r"c:\fsdfds\bar" '\\')
c:\fsdfds\bar\
>>> print("c:\fsdfds\bar" '\\')
c:sdfdsar\
>>>

(3)Unicode字符串:

python普通字符串是以8位ASCII码形式存储的,而Unicode是以16位unicode字符存储。

用前缀U表示Unicode字符串:

>>> u"hello world"
'hello world'

python学习(一) 基础知识的更多相关文章

  1. 学习Python3基础知识过程中总结

    print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...

  2. 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...

  3. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  4. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  5. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  6. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  7. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  8. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  9. Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现

    Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: ​   程序就是一堆文件 什么是进程: ​   进程就是一个正在 ...

  10. Python开发(一):Python介绍与基础知识

    Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...

随机推荐

  1. 深入理解Lambda

    概述 Lambda是一个表达式,也可以说它是一个匿名函数.然而在使用它或是阅读Lambda代码的时候,却显得并不那么容易.因为它匿名,因为它删减了一些必要的说明信息(比如方法名).下面就来说说Lamb ...

  2. eclipse indigo 安装 Eclipse Marketplace Client

    打开 eclipse,help--Eclipse Marketplace Client就能找到 有的eclipse中没有这个功能就需手动添加Eclipse Marketplace Client. he ...

  3. HTTP metadata数据

    信息元位置 信息元名称 信息元ID 信息元描述 1 MetadataVersion 5000 Metadata版本号 当前版本号为1.0 2 MetadataID 1019 MetadataID 3 ...

  4. centos 使用yum安装MySQL 5.7

    想在centos上安装一个MySQL,使用yum install mysql-server 安装提示仓库没有包,也是醉了. 找了很多博客,发现一个很好用的,推荐给大家. 地址:https://blog ...

  5. 条款11:记得在operator=中处理自赋值的情况。

    本来的版本是这样的: Widget & Widget::operator=(Widget rhs) { delete pb;//这里可能直接将rhs的pb删除了 pb = new (*rhs. ...

  6. Azure Sql Database为某个数据库创建单独的访问账户

    由于SQL Management Studio对Azure SQL Database支持不完美,不能使用图形界面,因此配置数据库就会有不同的麻烦,下面是本人配置访问账户的一些经验: 1.以管理员登陆之 ...

  7. MyBatis典型的错误org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    XXXmapper.java(接口) XXXmapper.xml(结果集映射) //此两个文件要在统一包下,且xml中的namespace是唯一的,为了区分须写成 该xml的全路径

  8. HDU - 6433: H. Pow (简答题,输出大数)

    There are n numbers 3^0, 3^1, . . . , 3^n-1. Each time you can choose a subset of them (may be empty ...

  9. Python之contextlib库及源码分析

    Utilities for with-statement contexts __all__ = ["contextmanager", "closing", &q ...

  10. CDlinux无线破解系统

    cdlinux是一款功能非常强大的无线密码破解器,cdlinux兼容pin软件,不用抓取握手包.不用跑字典.不用客户端在线就能够破解无线路由器的密码,轻轻松松帮助用户达到蹭网的目的. 基本简介 cdl ...