初见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 与其 ...
随机推荐
- 【BZOJ】3779 重组病毒
[算法]Link-Cut Tree+线段树(维护DFS序) [题解]整整三天……T_T 这篇题解比较资瓷:permui 这道题虽然树形态没有变化,但用lct写的原因在于把题目中的操作一进行了神转化:每 ...
- 【SPOJ】2319 BIGSEQ - Sequence
[算法]数位DP [题解]动态规划 题目要求的是大整数……没办法只写了小数字的,感觉应该没错. 大题框架是最大值最小化的二分问题. 对于每一块要求count(b)-count(a-1)≥s 已知a如何 ...
- CCC2018游记
day (-1) 晚上睡觉没盖被子 day 0 2018年2月13日 下午放学回来感到一阵头痛,一量体温结果发烧了,感觉很蓝瘦,居然在CCC前一天生病. 本来注册了账号想打practise的,结果又 ...
- 获取子iframe框架的元素
我们常常遇到使用iframe框的时候,该iframe框不能根据自己内部的内容撑起来的这种问题 必要条件:不能在跨域的情况下...本地可以放到localhost下进行测试 //父页面index.html ...
- 9.0docker的数据管理
dopcker容器的数据卷 为容器添加数据卷 sudo docker run -v ~/container data:/data -it ubuntu /bin/bash 查 ...
- Python模块学习 - IPy
简介 在IP地址规划中,涉及到计算大量的IP地址,包括网段.网络掩码.广播地址.子网数.IP类型等,即便是专业的网络人员也要进行繁琐的计算,而IPy模块提供了专门针对IPV4地址与IPV6地址的类与工 ...
- rabbitmq之核心构架和原理总结(四)
前言 前面博文已经将安装配置和站点管理介绍了,现在开始正式学习rabbitmq的使用了: rabbitMQ的构架 rabbitmq作为消息队列,一条消息从发布到订阅消费的完整流程为: 消息 --> ...
- python实战===代码
#!/usr/bin/env python # encoding:utf-8 import requests import json from conf import STORE_DICT_LIST ...
- 浅谈分布式一致性与CAP/BASE/ACID理论
##转载请注明 CAP理论(98年秋提出,99年正式发表): C( Consistency)一致性:在分布式系统中,数据一致更新,所有数据变动都是同步的: A( Availability)可用性:分布 ...
- 2015多校第7场 HDU 5378 Leader in Tree Land 概率DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5378 题意:一棵n个节点的树.对其节点进行标号(1~n).求恰好存在k个节点的标号是其节点所在子树的最 ...