热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python学习(一)基础知识

开始学习《Python基础教程》1.2交互式解释器按照书上的例子敲了个最简单的print函数,居然报错:printfsdfsSyntaxErr

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

转:https://www.cnblogs.com/liufei1983/p/7168346.html



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • switch语句的一些用法及注意事项
    本文介绍了使用switch语句时的一些用法和注意事项,包括如何实现"fall through"、default语句的作用、在case语句中定义变量时可能出现的问题以及解决方法。同时也提到了C#严格控制switch分支不允许贯穿的规定。通过本文的介绍,读者可以更好地理解和使用switch语句。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 1关于字符串相邻的两个或多个字符串字面值(引号引起来的字符)将会自动连接到一起:str_catpython!str_cat输出:python!把很长 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
loloyoyo555
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有