python语言基础知识

第1章 python语言基础

1.1 Python语言概述

  • 特点:简单易学、程序可读性好、丰富的数据类型、开源的语言、解释型的语言、面向对象的语言。

  • 局限:运行速度较慢。

1.2 Python语言的开发环境

1.3 常量与变量

  • Python是一种动态类型的语言。

  • 变量具有变量名、变量值、变量地址三个属性。

  • Python标识符:由字母、数字、下划线组成,区分大小写,但不能由数字开头。

1.4 Python数据类型

1.4.1 数值类型

  1. 整型数据

    (1)十进制整数:120

    (2)二进制整数:0b1111或0B1111

    (3)八进制整数:0o127或0O127

    (4)十六进制整数:0xa8c或0Xa8c

  2. 浮点型数据

    (1)十进制小数形式:3.23

    (2)指数形式:45e-5,3.6e8,9.8E18(默认提供17位有效数字的精度,指数必须为整数)

  3. 复数型数据

    形式为:a+bJ或a+bj,如3+4j

    通过x.real来获取复数的实部,x.imag来获取复数的虚部

1.4.2 字符串类型

  1. Python标准字符串

    通过单引号、双引号、三引号(三个单引号或三个双引号)来定义。其中,三引号括起来的字符串可以是多行的。

  2. 转义字符

    如果在字符串前加一个r,表示原始字符,反斜杠则不发生转义。

    转义字符说明
    \0空字符
    \a产生响铃声
    \b退格符
    \n换行符
    \r回车符,表示行结束,但不换行
    \t水平制表符
    \\反斜杠
    \’单引号
    \"双引号
    \ddd1~3位八进制数表示的ASCII码所代表的字符
    \xhh1~2位十六进制数表示的ASCII码所代表的字符
  3. 基本的字符串函数

    (1) eval(字符串) 函数:将字符串的内容当做语句执行。

    (2) len(字符串) 函数:返回字符串的长度。

1.4.3 布尔类型

布尔类型(bool)具有真和假两种值。对数值使用bool函数时,0返回False,其他值返回True。

1.4.4 复合数据类型

  1. 列表(list)

    [3,"abc",[4,8,3]] ,用中括号表示,元素可变。

  2. 元组(tuple)

    ("abc",4.5,[2,5]),用小括号表示,元素不可变,相当于只读列表。但元组里的列表可变。

    空的小括号表示空元组;当元组只有一个元素时,必须以逗号结尾。

    任何一组以逗号分隔的对象,当省略标识序列时,默认为元组。

  3. 字典(dictionary)

    {'name':'mike','code':246},是一种映射类型,关键字为不可变类型且不能相同。

    {}表示一个空字典。

  4. 集合(set)

    {'jim','jack','tom'},是一个无序且不包含重复元素的数据类型,基本功能是成员关系测试和消除重复元素。

    可以使用大括号或set()函数创建集合,但创建空集合必须使用set()。

1.5 常用系统函数

1.5.1 常用模块函数

1.math模块函数
  1. 数学常量

    • e :返回常数e
    • pi :返回圆周率 π \pi π的值
  2. 绝对值和平方根函数

    • fabs(x):返回x的绝对值,返回值为浮点数
    • sqrt(x):返回x的平方根
  3. 幂函数和对数函数

    • pow(x,y):返回x的y次幂
    • exp(x):返回e的x次幂
    • log(x [,base]):返回x的自然对数,base可以改变对数的底
    • log10(x):返回x的常用对数,其中10为底
  4. 取整和求余函数

    • ceil(x):对x向上取整
    • floor(x):对x向下取整
    • fmod(x,y) :返回x/y的余数,返回值为浮点数
  5. 弧度角度转换函数

    • degrees(x):将弧度转换为角度
    • radians(x):将角度转换为弧度
  6. 三角函数和反三角函数

    • sin(x)
    • cos(x)
    • tan(x)
    • asin(x)
    • acos(x)
    • atan(x)
2.cmath模块函数

cmath模块函数与math模块函数基本一致,包括圆周率、自然对数底、复数的幂指数、对数函数、平方根函数、三角函数等。

3.random模块函数
  1. 随机挑选和排序

    • choice(seq):从序列的元素中随机挑选一个元素。
    • sample(seq,k):从序列的元素中随机挑选k个元素。
    • shuffle(seq):将序列的所有元素随机排序。
  2. 随机生成随机数

    • random():随机生成一个[0,1)范围内的实数。
    • uniform(a,b):随机生成一个[a,b]范围内的实数。
    • randrange(a,b,c):随机生成一个[a,b)范围内以c递增的整数,省略c时以1递增,省略a时初始值为0。
    • randint(a,b):随机生成一个[a,b]范围内的整数,相当于randrange(a,b+1)。
  3. time模块函数

    • time():返回当前的时间戳。

    • localtime([secs]):返回当前时间元组。

    • asctime([tupletime]):接收一个时间元组,并返回一个日期时间字符串。

    • ctime([secs]):类似于asctime([tupletime]),不带参数时与asctime()功能相同。

    • strftime(日期格式):按制指的日期格式返回当前日期。

      如:strftime(’%Y-%m-%d %H:%M:%S’) 返回 “2019-05-06 12:10:32”

      %y表示两位数的年份,%Y表示4位数的年份,%m表示月份,%d表示月中的一天,%H表示24小时制的小时数,%I表示12小时制的小时数,%M表示分钟数,%S表示秒数。

  4. calendar模块函数

    • setfirstweekday(weekday):设置每个星期的开始工作日代码。0~6表示星期一到星期日。
    • firstweekday():返回当前设置的每个星期开始工作日。
    • isleap(year):判断指定年份是否为闰年,是则返回True,否则返回False。
    • leapdays(y1,y2):返回在[y1,y2)范围内的闰年数。
    • calendar(year):返回指定年份的日历。
    • month(year,month):返回指定年份和月份的日历。
    • monthcalendar(year,month):返回整数列表,每个字列表示一个星期。
    • monthrange(year,month):返回两个整数,第一个整数代表指定的年和月的第一天是星期几,第二个整数代表所指定月份的天数。
    • weekday(year,month,day):返回给定的日期的星期代码。

1.5.2 常用内置函数

1.range()函数
  • range([start], end [,step]):产生可迭代对象,从start开始(默认从0开始),到end结束,但不包括end,并且按步长step增加(默认为1)。
  • 可以利用list()、tuple()函数转换为对应的数据类型:list[range(2,8,3)],返回[2,5]。
2.数值运算函数
  • abs(x):返回x的绝对值,结果保持x的类型。x为复数时返回复数的模。
  • pow(x,y,[z]):返回x的y次幂,结果保持x或y的类型。如果使用了参数z,表示x的y次方再对z求余数。
  • round(x [,n]):用于对浮点数进行四舍五入运算,返回值为浮点数 。n表示精确到小数点后的位数,不使用n则返回与第一个参数最近的整数。
  • divmod(x,y):返回一个包含商和余数的元组,第一位为商,第二位为余数。

1.6 基本运算

1.6.1 算术运算

  1. 算术运算符与算术表达式

    整除求余乘方
    +-*///%**
  2. 浮点数的计算误差

  3. 数据类型的转换

    • 两个同类型运算量参加运算,结果类型不变;整型与浮点型运算,会将整型转换为浮点型再进行运算,结果为浮点型。

    • int(x):将x转换为整型。

    • float(x):将x转换为浮点型。

    • complex(x):将x转换为复数,其中x为实部,0位虚部。

    • complex(x,y):将x和y转换为一个复数,其中x为实部,y为虚部。

1.6.2 位运算

  1. 按位与运算

    &:两个为1结果才为1。

  2. 按位或运算

    |:两个为0结果才为0。

  3. 按位异或运算

    ^:两个相同为结果0,不同为结果1。

  4. 按位取反运算

    ~:0变1,1变0。

  5. 左移运算

    <<:如3<<2:将3左移两位,右边(低位)补0。

  6. 右移运算

    >>:移动对象为正数时,高位补0;为负数时,高位补1。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值