初见Python<1>:基础语法
1、两个整数相除,计算结果的小数部分被截除,结果仍然是一个整数;
如:1/2=0
2、整数和浮点数相除、或者浮点数之间相除,结果有小数部分,仍然是一个浮点数;
如:1/2.0=0.5 1.0/2=0.5 1.0/2.0=0.5 1/2.=0.5
3、双斜线(//)定义整除运算
如:1.0//2.0=0.0 1//2=0
4、%定义取余运算(求模运算)
如:10%3=1 2.75%0.5=0.25
5、**定义幂运算(乘方运算)
如:2**3=8 -3**2=-9
6、输入16进制表达式会自动转化成十进制,输入8进制也同样会自动转化成十进制。以0x开头的为16进制,以0开头的为8进制
7、变量定义:变量名可以包括字母、数字和下划线(_),变量不能以数字开头
x=3是赋值表达式
8、在交互式解释器中,输入表达式和输入语句的结果是相同的。
如:print 2*2
和:2*2
结果都会打印4
但是在程序编写中不会这样,只有写语句才能完成打印输出。
表达式是某事,语句是做某事。
9、获取用户输入
使用input函数获取用户输入
>>>x=input("x:")
x:34
>>>y=input("y:")
y:42
>>>print x*y
1428
x,y通过两次输入接收用户输入的值,再参与后续的表达式运算
10、几个函数
pow(a,b)=a**b-----乘方函数
abs(a)------绝对值函数
round(b)------把浮点数四舍五入为最接近的整数值
11、整除运算可以截取小数部分,只保留整数部分
round()函数可以四舍五入取整
使用math模块的floor函数可以实现向下取整,如:
>>>import math
>>>math.floor(32.9)
32.0
先使用import导入模块,然后按照“模块.函数”的格式使用这个模块的函数
与floor相对的是ceil函数,可以向上取整为最小的整数
如果不想每次调用模块中的函数时都要使用“模块.函数”的格式,则可以使用另外一种形式:
>>>from math import floor
>>>floor(32.9)
32.0
通过“from模块import函数”后可以直接使用floor函数,而不再需要模块名前缀
12、使用sqrt()函数可以计算一个数的平方根,但是只能处理正数
对于负数,可以使用cmath模块(针对复数运算的模块)来实现开方功能
如:
>>>import cmath
>>>cmath.sqrt(-1)
1j
虚数以j或者J结尾,比如:
>>>(1+3j)*(9+4j)
(-3+31j)
使用这个函数时,最好不要使用“from模块import函数”这种形式,因为一旦使用,sqrt只能是cmath模块中的sqrt函数,而不能再使用math模块中的正常的sqrt函数,所以还是使用“模块.函数”格式。这样cmath模块和math模块中的sqrt()函数可以同时使用
13、.py是脚本文件后缀名
在windows系统中双击.py文件可以从cmd窗口打开Python文件,但是输入命令后或者不输入命令窗口都会立刻关闭,在文件最后加上
raw_input("press <enter>")
这一句可以让窗口不会关闭
14、使用单引号和双引号都可以来表示字符串,但是注意字符串自身含有的单引号和双引号,这时候要么分别使用双引号或者单引号,要么使用反斜杠作为转义字符,当然,也可以通过字符串拼接的方式完成输出
15、字符串拼接
>>>"hello,"+"world!"
'hello,world!'
>>>x='hello,'
>>>y='world!'
>>>x+y
'hello,world!'
16、使用print打印字符串
>>>print 'hello,world!'
hello,world!
对比可以看到,直接使用python打印的字符串是带有引号的,而使用print函数打印出来的结果是没有引号的
这是因为所有直接通过交互命令在python中打印的都保持了该值在python代码中的状态。又比如:
>>>10000L
10000L
>>>print 10000L
10000
这一点类似于两个字符串函数,即str()函数,repr()函数
>>>print repr('hello,world!')
'hello,world!'
>>>print repr(10000L)
10000L
>>>print str('hello,world!')
hello,world!
>>>print str(10000L)
10000
总结如下:str()、repr()是将python值转化为字符串的2种方法,函数str()将字符串变得更易阅读,repr()则把结果字符串转换为合法的python表达式
17、接收输入的两种方式:input和raw_input
使用input接收输入时,用户必须输入合法的python表达式,即用单引号(双引号)括起来的字符串
否则就会报错。
而使用raw_input接收用户输入时,可以不用添加单引号或双引号来注明是字符串。raw_input在接收后会自动将其添加引号识别为字符串。
因此,除非对input有特别的需要,否则应该尽可能的使用raw_input函数。
18、长字符串
如果需要写一个很长很长的字符串,并且需要跨多行,那么可以使用三个单引号或者三个双引号来替代普通引号
比如:
使用三个单引号(双引号)时,不用再担心内部字符串自身若包含单引号或双引号时造成的错误,也不需要再使用转义字符进行转义。
19、普通字符串也可以通过反斜杠来换行,这需要在一行的最后书写一个反斜杠。
这时候反斜杠只提示换行的意思,不会被打印出来。
20、原始字符串:
当字符串中包含有反斜杠时,会被认为是转义字符。如:
\n作为换行符,可以在字符串中任何需要换行的地方完成换行操作,\'是对'进行转义,表示'是字符串自身的一部分,而不是代表字符串的结束符
但是有时候我们需要输入反斜杠本身,比如一些目录路径
我们希望的输出应该是'c:\nDrivers'
但是python认为反斜杠是转义的作用。
解决办法有两种,一是再使用一个反斜杠,对反斜杠本身进行转义。如:
但是当字符串内部自身带的反斜杠很多时,就很麻烦。这时候使用第二种解决办法,即:使用原始字符串表示法。
原始字符串以r开头,可以在字符串中放入任何字符,唯一的要求是不允许最后一个字符是反斜杠。如果满足这唯一一点要求,就可以认为字符串中的任何字符都是字符串自身的一部分。
21、Unicode字符串:
初见Python<1>:基础语法的更多相关文章
- 第4天 | 12天搞定Python,基础语法(下)
为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...
- Python的基础语法(二)
0. 前言 接着上一篇博客的内容,我将继续介绍Python相关的语法.部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂. 1. 表达式 由数字.符号.括号.变量等组成的组合. 算术表达式 ...
- Python的基础语法(一)
0. 前言 最近正在重新整理Python的基础知识,以便更好地学习新知识.这一部分主要是讲述Python基础语法的演示.下面的语法都是基于Python3的语法. 1. 注释 注释:Python的注释方 ...
- Python 及其基础语法
重新开始玩 Python,打算就是学完实验楼的"Python3 简明教程",然后就可以玩点小项目,先前学了点 Python2 就不管它啦. 以上. 认识 Python Python ...
- Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别
Python语言基础 1.Python语法特点 注释: 单行注释:# #注释单行注释分为两种情况,例:第一种#用于计算bim数值bim=weight/(height*height)第二种:bim=we ...
- 12天搞定Python,基础语法(上)
不知你是否见过建楼房的过程,没有的话,找个时间去瞧一瞧,看一看.看过之后,你就会明白.建楼房,只有打好地基之后,才能在砌墙,建的楼层越高,打的地基就越深. 学编程也一样,要想得心应手的应用,得先打好地 ...
- Python常用基础语法知识点大全
记得我是数学系的,大二时候因为参加数学建模,学习Python爬虫,去图书馆借了一本Python基础书,不厚,因为有matlab和C语言基础,这本书一个星期看完了,学完后感觉Python入门很快,然后要 ...
- Python的基础语法
一,编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: 1 # -*- coding: cp-1252 ...
- python的基础语法-部分Ⅱ
Python 保留字符 下面的列表显示了在Python中的保留字.这些保留字不能用作常数或变数,或任何其他标识符名称. 所有 Python 的关键字只包含小写字母. 行和缩进 学习 Python 与其 ...
随机推荐
- 【BZOJ2882】工艺 [SAM]
工艺 Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 小敏和小燕是一对好朋友. 他们正在玩一 ...
- 「6月雅礼集训 2017 Day4」暴力大神hxx
[题目大意] 给出一个n重循环,每重循环有范围$[l, r]$,其中$l$,$r$可能是之前的变量,也可能是常数.求循环最底层被执行了多少次. 其中,保证每个循环的$l$,$r$最多有一个是之前的变量 ...
- RabbitMq related
# RabbitMq related Integration of message queuing tools with systems is the usual solution to handle ...
- BigDecimal的用法详解
BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成.如果为零或正数,则标度是小数点后的位数.如果为负数,则将该数的非标度值乘以 10 的负scale 次幂. f ...
- 启动Eclipse时,弹出failed to load the jni shared library
JDK版本和Eclipse版本不同的问题,JDK版本为64位,Eclipse版本为32位.
- 代码合并:Merge、Rebase 的选择
图解 Git 命令 基本用法 上面的四条命令在工作目录.stage 缓存(也叫做索引)和 commit 历史之间复制文件. git add files 把工作目录中的文件加入 stage 缓存 git ...
- 解决ie9以下下不支持html5和媒体查询(Media Queries)
ie9以下不支持媒体查询和html5,可以使用补丁完美兼容 1.html5shiv ie6~8不识别html5的新元素,可以通过使用html5shiv来解决 <!--[if lt IE 9]&g ...
- ie8下a标签中的图片出现边框
1.ie8下a标签中的图片出现边框 <a href="#"><img src="horse.jpg"></a> 效果如图所示 ...
- ie6下双边距的问题
1.ie6双边距情况 <div class="red"></div> <div class="blue"></div& ...
- python进行机器学习(二)之特征选择
毫无疑问,解决一个问题最重要的是恰当选取特征.甚至创造特征的能力,这叫做特征选取和特征工程.对于特征选取工作,我个人认为分为两个方面: 1)利用python中已有的算法进行特征选取. 2)人为分析各个 ...