Python基础教程第一章 python基础知识
第一章 python基础知识
1、除法运算中,如果想丢弃小数部分,即整除运算,可使用双斜杠
>>>1//2
0
注意:-10//3 = -4
2、乘方(求幂)运算符
注意:乘方的优先级比求负高,所以-32 = -(3**2) = -9**
3、0x(16进制) 0o(8进制) 0b(2进制)
4、使用Python变量前必须给它复制,因为Python变量没有默认值
在Python中,标识符只能由字母、数字和下划线构成,且不可由数字打头
5、获取用户输入 input函数
x = input("x: ")
注意:input输入的值默认以文本或字符串的方式返回
6、函数
pow(a,b) :乘方
abs 计算绝对值 round 将浮点数圆整为与之最接近的整数
round 圆整到最接近的整数,但俩个整数一样近时圆整到偶数
floor 向下圆整(不能直接使用,需要首先导入模块 import math)
注意:str、float用于转换类型,但实际上,它们并不是函数,而是类。
7、模块
通过使用命令import的变种from module import function, 可在调用函数时不指定模块前缀
eg:from math import sqrt
sqrt(9)
结果:3
不需要使用math.sqrt(9),不用加前缀(但前提:确定不会从不同模块导入多个同名的函数)
- 事实上,可使用变量来引用函数
eg: foo = math.sqrt
foo(9)
相当于math.sqrt(9)
结果:3
8、cmath和复数
nan具有特殊含义,指的是“非数值”(not a number)
import cmath
cmath.sqrt(-1)
结果:1j
(1J复数,python本身提供了对复数的支持)
但Python没有专门表示虚数的类型,而将虚数视为实部为零的复数
9、未来板块
from __future__ import division
对于Python当前不支持,但未来将成为标准组成部分的功能可以从这个模块进行导入
10、海龟绘图法
简单示例
# 海龟绘图法(绘制一个三角形)
from turtle import *
forward(100)
# 一个角度,120°的角
left(120)
forward(100)
# 抬起铅笔 penup, 放下铅笔pendown()
penup()
left(120)
forward(100)
11、让脚本运行的像普通程序一样
UNIX系统中
将
#!/usr/bin/env python
作为脚本的第一行代码随后
$ chmod a+x hello.py
然后便可使用命令
$ hello.py
来运行它了
附:若程序结束后立即关闭了窗口,而使得你无法观察时,可在最后一行输入input("Press <enter>")
,增加一行代码,使得仅当最后按了回车键后,程序才结束
12、注释
使用符号#
13、字符串及str,repr
- 双引号、单引号的区别:可以在字符串中需要使用多个引号的时候,来进行区分 eg:
'"hello", Mike!'
- 转移符号
\(反斜杠)
- 拼接字符串
+
eg:"Hello" + "World!"
#一个区别 >>> "Hello, \nworld!" 'Hello,\nworld!' >>>print("Hello, \nworld!") Hello, World! str,repr(str是一个类,repr是一个函数) >>> print(repr("Hello,\nworld!")) 'Hello,\nworld!' >>> print(str("Hello,\nworld!")) Hello, World!
14、长字符串、原始字符串和字节
- 长字符串:很长的字符串可用三引号(单双引号都可) ‘’‘This is a very long string. It continues there. …’’’
常规字符串也可横跨多行。只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽略。 eg: print("Hello,\ world!") >>>1+2+\ 4+5 12 >>>print \ ('Hello, world') hello, world
- 原始字符串:特点:不以特殊方式处理反斜杠,因此在有些情况下很有用
原始字符用前缀r表示(注意:原始字符串的最后一个字符不能是反斜杠,除非对其进行转义
\\
)>>> print(r'C:\nowhere') C:\nowhere >>> print(r'C:\Program Files\fnord\foo\bar\baz\frozz\bozz') C:\Program Files\fnord\foo\bar\baz\frozz\bozz
15、Unicode、bytes、bytearrayUnicode码点和名称
通用机制:使用16或32位的十六进制字面量(分别加上前缀\u或\U)或者使用字符的Unicode名称(\N{name})
每个Unicode字符都用一个码点(code point)表示,而码点是Unicode标准给每个字符指定的数字
具体见最底下的插图!!!
常用函数
函数 | 描述 |
---|---|
abs(number) | 返回指定数的绝对值 |
bytes(string, encoding[, errors]) | |
cmath.sqrt(number) | 返回平方根(可以用于负数) |
float(object) | 将字符串或数字转换为浮点数 |
help(object) | 提供交互式帮助 |
input(prompt) | 以字符串的方式获取用户输入 |
int(object) | 将字符串或数转换为整数 |
math.ceil(number) | 以浮点数的方式返回向上圆整的结果 |
math.floor(number) | 以浮点数的方式返回向下的圆整的结果 |
math.sqrt(number) | 返回平方根;不能用于负数 |
pow(x, y[, z]) | 返回x的y次方对z求模的结果 |
print(object, …) | 将提供的实参打印出来,并用空格分隔 |
repr(object) | 返回指定值的字符串表示 |
round(number[, ndigits]) | 四舍五入为指定的精度,正好为5时舍入到偶数 |
str(object) | 将指定的值转换为字符串。用于转换bytes时,可指定编码和错误处理方式 |
在上表中, 方框内的参数是可选的!