Published: 日 02 九月 2018

语法基础

解释器像简单的计算器:可以输入表达式,它会返回值。表达式语法很简单:运算符 + , - , * 和 / 与其它语言一样(例如Pascal或C);括号用于分组。例如:

>>> 2 + 2

4

>>> 50 - 5*6

20

>>> (50 - 5.0*6) / 4

5.0

>>> 8 / 5.0

1.6

整数(例如2、4、20 )的类型是 int,带有小数部分的数字(例如5.0、1.6)的类型是 float。

除法(/)永远返回浮点数。地板除使用 // 运算符;要计算余数你可以使用 %。

>>> 17 / 3 # classic division returns a float

5.666666666666667

>>>

>>> 17 // 3 # floor division discards the fractional part

5

>>> 17 % 3 # the % operator returns the remainder of the division

2

>>> 5 * 3 + 2 # result * divisor + remainder

17

"**"表示乘方:

>>> 5 ** 2 # 5 squared

25

>>> 2 ** 7 # 2 to the power of 7

128

在Python中,名称( 标识符)只能由字母、数字和下划线(_)构成,且不能以数字打头。因此 Plan9 是合法的变量名,而 9Plan 不是。在某种程度上说,标识符命名规则基于Unicode标准,详情请参阅“Python语言参考手册”(https://docs.python.org/3/reference/lexical_analysis.html)。也就是说中文变量名也是可以的。

>>> 你好 = '你好'

>>> print(你好)

你好

等号( '=' )用于给变量赋值:

>>> width = 20

>>> height = 5*9

>>> width * height900

同一值可以同时赋给几个变量:

>>> x = y = z = 0 # Zero x, y and z

>>> x

0

>>> y

0

>>> z

0

变量在使用前必须"定义"(赋值),否则会出错:

>>> n

Traceback (most recent call last):

File "", line 1, in

NameError: name 'n' is not defined

支持浮点数,混合计算时会自动整型转为浮点数:

>>> 4 * 3.75 - 1

14.0

交互模式中,最近表达式的值赋给变量 _ 。更方便连续计算把Python当作桌面计算器,例如:

>>> tax = 12.5 / 100

>>> price = 100.50

>>> price * tax

12.5625

>>> price + _

113.0625

>>> round(_, 2)

113.06

此变量对于用户是只读的。

除了int和float,还有fractions(https://docs.python.org/2/library/fractions.html#fractions.Fraction)和decimal(https://docs.python.org/2/library/decimal.html#decimal.Decimal)。

下面的复数部分很少使用,通常可以不阅读。

支持复数,虚数带有后缀j或J,有非零实部的复数写为(real+imagj),或者用complex(real, imag)函数创建。

>>> 1j * 1J

(-1+0j)

>>> 1j * complex(0,1)

(-1+0j)

>>> 3+1j*3

(3+3j)

>>> (3+1j)*3

(9+3j)

>>> (1+2j)/(1+1j)

(1.5+0.5j)

复数的实部和虚部总是记为两个浮点数。要从复数z中提取实部和虚部,使用z.real和 z.imag。

>>> a=1.5+0.5j

>>> a.real

1.5

>>> a.imag

0.5

浮点数和整数转换函数(float(), int()和long())不适用于复数。没有方法把复数转成实数。函数abs(z)用于取模(为浮点数)或z.real取实部:

>>> a=3.0+4.0j

>>> float(a)

Traceback (most recent call last):

File "", line 1, in

TypeError: can't convert complex to float

>>> a.real

3.0

>>> a.imag

4.0

>>> abs(a) # sqrt(a.real**2 + a.imag**2)

5.0

变量与赋值

自己实现求最大值。

代码:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

# Author: xurongzhong#126.com wechat:pythontesting qq:37391319

# 技术支持 钉钉群:21745728(可以加钉钉pythontesting邀请加入)

# qq群:144081101 591302926 567351477

# CreateDate: 2018-6-12

# mymax2.py

# Write max function without built-in max().

def mymax2(x, y):

"""Return larger of x and y."""

largest_so_far = x

if y > largest_so_far:

largest_so_far = y

return largest_so_far

def main():

print("MyMax: Enter two values to find the larger.")

first = float(input("First value: "))

second = float(input("Second value: "))

print("The larger value is", mymax2(first, second))

main()

执行:

$ python3 mymax2.py

MyMax: Enter two values to find the larger.

First value: 3

Second value: 89

The larger value is 89.0

注意赋值是=,判断是否等于是==。

实际上python的内置函数max已经很好的实现了这个功能。数值相关的内置函数如下:

方法 | 功能

| --- | --- |

abs(x) | 绝对值。

max(x, y) | 最大值

min(x, y)| 最小值

pow(x, y) | x的次方

输入输出的内置函数

方法 | 功能

| --- | --- |

input(prompt) | 打印可选prompt并将用户输入的值作为字符串返回。

print(value1, value2, ...) | 打印value1, value2等,以空格分隔。

python的基础数据类型有bool、float、int、str

类型 | 描述

| --- | --- |

bool | True或False

float | 带小数点浮点数值,如3.141,-23.8,7.0或5.92e7 = 5.92×10 7

int | 如847,-19或7

str | 单,双或三引号内的字符串。如“abc”,“它在这里!”或文档字符串等

这四种类型同时还有可以进行类型转换的内置函数。

学英文、练python题目:

计算机等级考试python二级 浙江高考 全国中学生奥赛模拟题

Write a function grade(score) to return the corresponding letter grade for a given numerical score. That is, for 90 or above, return the string "A" , for 80 or above, return "B", etc. Include a main() to test your function.

计算

计算投资收益

代码:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

# Author: xurongzhong#126.com wechat:pythontesting qq:37391319

# 技术支持 钉钉群:21745728(可以加钉钉pythontesting邀请加入)

# qq群:144081101 591302926 567351477

# CreateDate: 2018-6-12

# balance_table.py

# Print table of account balances earning interest.

def balance(p, r, t):

"""Return new balance using compound annual interest."""

return p*(1 + r)**t

def main():

print("Calculates compound interest over time.")

principal = float(input("Principal: "))

rate = float(input("Interest rate (as a decimal): "))

years = int(input("Number of years: "))

for year in range(years + 1):

print(year, balance(principal, rate, year))

main()

执行:

$ python3 balance_table.py

Calculates compound interest over time.

Principal: 1000

Interest rate (as a decimal): 0.055

Number of years: 5

0 1000.0

1 1055.0

2 1113.0249999999999

3 1174.2413749999998

4 1238.8246506249998

5 1306.9600064093747

In [1]: 17/5 # 除

Out[1]: 3.4

In [2]: 17//5 #整除

Out[2]: 3

优先级 | 运算符

| --- | --- |

高 | *中 |, /, //, %

低 | +, -

math模块还有一些增强:

函数 | 功能

| --- | --- |

sqrt(x) | x的平方根

floor(x) | 地板:小于或等于x的最大整数

ceil(x) | 天花板:大于或等于x最小的整数

log(x) | 自然对数

exp(x) | 指数

pi | 指数

符合运算符

优先级 | 运算符

| --- | --- |

+= | x = x + y

类似的有-=、*=、/=、//=、 %=

>>> a = 10

>>> a -= 1

>>> a

9

>>> a += 2 * 3 - 1

>>> a

14

>>> a //=2

>>> a

7

>>> a %=2

>>> a

1

内置函数bin、hex、int可用于进制转换,请在[雪峰磁针石博客]python3标准库-中文版2:内置函数学习。后面的习题会覆盖这3个函数。

习题

1.python3.6+中下面哪个对于int内置函数的使用不合法

A. int('16',base=10) B. int('1.6') C. int(1.6) D. int('16_6',base=10)

hex(25)、 int("0x1C", 16)、int("0b10101", 2)、int("0x1C", 16)的返回值各是多少?

参考资料

python测试等IT技术支持qq群: 144081101(后期会录制视频存在该群群文件) 591302926 567351477 钉钉免费群:21745728

道家技术-手相手诊看相中医等钉钉群21734177 qq群:391441566 184175668 338228106 看手相、面相、舌相、抽签、体质识别。服务费50元每人次起。请联系钉钉或者微信pythontesting

python3基础教程雪峰_[雪峰磁针石博客]python3快速入门教程2数据结构1变量与赋值...相关推荐

  1. [雪峰磁针石博客]数据仓库快速入门教程1简介

    数据仓库是从各种渠道收集和管理数据的技术,可提供有意义的业务洞察,战略性地使用数据. 它用于查询和分析而不是事务处理,是将数据转换为信息并及时向用户提供的过程. 决策支持数据库(数据仓库)与组织的运营 ...

  2. python3基础教程雪峰_[雪峰磁针石博客]python3快速入门教程9重要的标准库

    日志 logging模块提供了完整和灵活的日志系统. import logging logging.debug('Debugging information') logging.info('Infor ...

  3. pythoniter雪峰_[雪峰磁针石博客]python3快速入门教程1 turtle绘图-3循环

    Published: 日 02 九月 2018 语法基础 for语句 Python的for语句针对序列(列表或字符串等)中的子项进行循环,按它们在序列中的顺序来进行迭代. 1 2 3 4 5 6 7 ...

  4. [雪峰磁针石博客]python3标准库-中文版2:内置函数

    2019独角兽企业重金招聘Python工程师标准>>> 内置功能 abs() dict() help() min() setattr() all() dir() hex() next ...

  5. [雪峰磁针石博客]大数据Hadoop工具python教程9-Luigi工作流...

    管理Hadoop作业的官方工作流程调度程序是Apache Oozie.与许多其他Hadoop产品一样,Oozie是用Java编写的,是基于服务器的Web应用程序,它运行执行Hadoop MapRedu ...

  6. [雪峰磁针石博客]大数据Hadoop工具python教程2-python访问HDFS

    https://pypi.org/project/hdfs3 已经不维护 PyArrow https://pypi.org/project/hdfs/ https://pypi.org/project ...

  7. [雪峰磁针石博客]可爱的python测试开发库

    欢迎转载,转载请注明来源:github地址 谢谢点赞 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 selenium - ...

  8. [雪峰磁针石博客]软件测试专家工具包1web测试

    web测试 本章主要涉及功能测试.自动化测试(参考: 软件自动化测试初学者忠告) .接口测试(参考:10分钟学会API测试).跨浏览器测试.可访问性测试和可用性测试的测试工具列表. 安全测试工具和性能 ...

  9. 一行代码都不写!Github 博客小白版入门教程

    赖可 发自 凹非寺 量子位 报道 | 公众号 QbitAI GitHub不仅可以传代码,还可以建博客.利用GitHub Pages平台,就可以搭建非常好用的个人博客. 但是难点在于,你在要敲很多代码才 ...

最新文章

  1. PowerPoint中的LinkFormat对象
  2. Lead time 在ERP 中怎么填
  3. 安装 pcre-8.1.0 出现错误
  4. 18个堪称神器的命令行工具,高效运维必备
  5. hadoop第一个例子
  6. 【链表】删除链表的倒数第n个节点
  7. Centos7 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon run
  8. opengl 纹理贴到对应的位置_OpenGL常用命令备忘录(Part B)
  9. \r,\n,\r\n的问题分析
  10. C++读写ini配置文件
  11. pc端html转换手机端,一种兼容PC端和手机端WEB界面的实现方法与流程
  12. 2022年数据库行业展望
  13. 将 Windows RE 安装到手工创建的 OEM 分区中
  14. 微信小程序 转发 封装
  15. 如何解决移动端300ms延迟的问题
  16. Linux中的su 和su -
  17. {转发}尚硅谷资料集锦
  18. iOS编译cURL库并链接darwinssl,zlib,c-ares库操作步骤
  19. 普通用户sftp 无法使用解决方法
  20. 实现一个div的背景颜色从左到右慢慢出现

热门文章

  1. Linux防火墙设置
  2. Java医院就诊挂号系统
  3. 分享一个快速的Json(反)序列化开源项目 Jil
  4. 【自然语言处理】韩语基础与入门(词汇篇)
  5. MySQL--基础练习
  6. 京东XDD机器人图文详细教程-优雅草科技老八
  7. python读取鼠标点击坐标_python 读取鼠标点击坐标的实例
  8. 医院计算机网络安全应急预案,医院信息系统应急预案
  9. 吴恩达ML WEEK7 机器学习
  10. php mvc例子,PHP_ThinkPHP的MVC开发机制实例解析,ThinkPHP是目前国内应用非常广 - phpStudy...