开始学习《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 ")

这样,就可以双击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基础知识学习_python学习(一) 基础知识相关推荐

  1. python从入门到_Python学习路线从入门到上手,如何快速Python学习?

    因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一.在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言. 风靡的另一个原因是,Python有非常多的第三方库.比如用 ...

  2. 自学python先准备什么_python学习步骤

    知乎链接:https://www.zhihu.com/question/53814059 这是我在你是如何自学 Python 的?问题下的回答,可以参考一下. 入门阶段 1. A Byte of Py ...

  3. python获取输入法状态_Python学习中常见的错误

    本文适合有编程基础,现在正在学习Python的学习者. 个人以为程序设计是一件非常惬意的事情, 坐在电脑旁边,敲敲键盘就可以控制电脑完成一些处理工作.一个回车键屏幕就输出一大堆的信息,而且都是自己需要 ...

  4. python学习_Python学习资料整理

    Python资料汇总整理 包括长期必备.入门教程.练手项目.学习视频. 转发评论+私信"学习"即可领取python视频教程 一.长期必备. 1. StackOverflow,是疑难 ...

  5. python定义变量字符串_Python学习笔记二(变量和字符串)

    2017年年终确定的从2018年开始学习一门新的语言.随着机器学习人工智能的日渐深入,是时候有必要掌握以下Python了.博客今天更新第二篇学习记录,关于Python的变量和变量中字符串的使用,所有学 ...

  6. python向量计算库教程_python中numpy基础学习及进行数组和矢量计算

    前言 在python 中有时候我们用数组操作数据可以极大的提升数据的处理效率,类似于R的向量化操作,是的数据的操作趋于简单化,在python 中是使用numpy模块可以进行数组和矢量计算. 下面来看下 ...

  7. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

  8. python初学篇笔记_Python学习笔记(基础篇)

    Python 基础 输入输出 输出 使用print()可以向屏幕上输出指定的文字: >>> print('Hello world!') Hello world! print()中可以 ...

  9. 2sin30°在python中如何表示_Python学习之基础练习(1)

    基础很重要 万丈高楼平地起,不打好地基,能力的提升是很难的,这一点,我深有体会.之前我直接进行爬虫的编写,虽然能爬取到一些信息,但是,更深层次的功能我却无法自行编写,说到底,还是基础太薄弱了.因此,多 ...

  10. python集合数据对象_python学习第七天 基础数据类型补充 深浅copy 集合 关键字后面加可迭代对象...

    在基础数据类型中可能遇到的坑: 元组: tuple1=(1) 的数据类型是int , tuple2=('alex')的数据类型是str 等 tuple1=(1,) 和 tuple2的数据类型是 tup ...

最新文章

  1. mysql 5.7优化不求人_《MySQL 5.7优化不求人》直播精彩互动
  2. 6.00 Introduction to Computer Science and Programming lec5: Objects in Python
  3. 【译】CREDITS: Peer-to-peer (P2P) network and its components
  4. java volatile线程可见_volatile-验证线程之间的可见性
  5. hibernate左连接查询时在easyUI的dataGrid中有些行取值为空的解决办法
  6. 看美国如何实现农业大数据的建设
  7. Python调用C函数的方法以及如何编写Python的C扩展
  8. 为什么要用Web Service
  9. [ecshop调试]ecshop 数据库查询缓存详解 有三种缓存,query_cache(数据库查询缓存)、static_cache(静态缓存)和cache(普通的缓存)
  10. 快递柜智能柜C语言程序,智能快递柜的设计与实现_李浩然.pdf
  11. layui table 渲染动态列及列数据
  12. 手机信令数据怎么获得_论文推荐 | 基于手机信令数据的大规模通勤模式研究(2020-12-01)...
  13. 最全面的gtest的TEST宏源码解析及自动调度机制
  14. Altium_Designer(protel_DXP)英文菜单汉化对应表表
  15. 洛谷3238 HNOI2014 道路阻塞 最短路 线段树(无代码)
  16. JS 获取当前时间及当天零点,当月零点,往前1小时,7天,1个月,1年
  17. C# asp.net 条形码 code39条码 生成 扫描枪能识别(好东西转载...)
  18. 雄关漫道真如铁 而今迈步从头越
  19. pid控制加热算法,附代码仓库——开源免费
  20. 32.768K的晶振用途

热门文章

  1. 饥饿游戏3:嘲笑鸟(上)[The Hunger Games:Mockingjay - Part 1]
  2. 编辑网页document.body.contentEditable=‘true‘;
  3. 《DFC-Net:Deep Flow-Guided Video Inpainting》论文笔记
  4. 【分享】VMOS Pro1.4.2最新会员版
  5. 使用yaf+yar实现基于http的rpc服务
  6. flac转mp3方法,flac转mp3步骤
  7. 智慧消防三维地理信息应急指挥平台
  8. php获取手机的mac地址,Android手机获取Mac地址的几种方法
  9. 简单理解格拉姆矩阵(Gram matrix)
  10. kali下域名解析失败