20201118-python基础知识-day2

3个基本概念

链式赋值
把同一个对象赋值给多个变量

x=y=1

系列解包赋值

a,b,c=1,2,3
a,b=b,a #变量互换

常量
python不支持常量(大写,下划线隔开)

基本内置数据类型

type

  • 整型
  • 浮点型
  • 布尔型
  • 字符串型
    divmod可以同时得到商和余数

0B 二进制 01
0O 八进制 0-7
0X 十六进制 0-9 abcdef

整数
int()实现类型转换
int(3.14)
3
int(TRUE)
1
int(FALSE)
0

整数和浮点数运算的结果是浮点数
int可以存储任意大小的整数
python适合科学运算

浮点数
float 用科学计数法表示
round 返回四舍五入的值
注意:不改变原对象,产生新的对象

时间的表示

unix时间点,1970年1月1号,以毫秒为单位进行计算
在这里插入图片描述

>>> import time
>>> time.time()
1605668394.565831
>>> b = int(time.time())
>>> b
1605668452
>>> totalMinute = b/60
>>> totalMinute = b//60
>>> totalMinute
26761140
>>> totalHours = totalMinute //60
>>> totalHours
446019
>>> totalDays = totalHours // 24
>>> totalYears = totalDays//365
>>> totalYears
50

定义多个点坐标_绘制折线 计算起始位置和终点距离

import turtle
#定义多个点
xl,yl = 100,100
x2,y2 = 100,-100
x3,y3 = -100,-100
x4,y4 = -100,100
#绘制折线
turtle.penup()
turtle.goto(xl,yl)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)

#计算起始点和终点的距离
distance = ((xl-x4)**2 + (yl-y4)**2)**0.5
turtle.write(distance)在这里插入代码片

布尔值
x or y : x为true,则不计算y返回True

同一运算符

is is not直接判断id地址
"=="判断value值是不是一样

  • 整数缓存问题
    解释器下:python仅仅对【-5,256】的数字缓存起来,会成为同一个对象
    pycharm或者保存为文件:【-5,任意正整数】

字符串

python字符串是不可变的,我们无法对原字符串做任何修改
Unicode编码 16位表示一个字符
ord()可以把字符转成Unicode
chr()可以把十进制数字转换成字符

  • 单引号或双引号创建字符串

  • 连续三个单引号创建多行字符串

  • 允许空字符串存在

  • 字符串拼接中间直接空格也可以

  • 字符串复制 *n

  • 不换行打印 end = ‘任意字符串’

  • 从控制台读取字符串 input("")

  • str()把其他类型的数据转为字符串

  • replace()生成修改后的新字符串,以前的是不可变的

  • 分割:a.split(’’)

  • 连接:’*’.join(a) 一般连接列表,注意是字符串,用join比用+快

字符串驻留机制
符合标识符规则的字符串(下划线,字母,数字)启动字符串驻留机制

常用的字符串操作方法

  • len(a)

  • a.startswith("")

  • a.endswith("")

  • a.find(’’) 第一次出现指定字符串的位置

  • a.rfind(’’) 最后一次出现指定字符串的位置

  • a.count(’’)

  • a.islnum(’’)是否全是字母或数字

  • a.strip()去除首尾信息 . lstrip左边 rstrip右边

  • a.capitaliza() 首字母大写

  • a.title() 每个单词首字母都大写

  • a.upper() 所有字符全都转成大写

  • a.lower() 所有字符全转成小写

  • a.swapcase() 所有字母大小写转换

格式排版

>>> a = 'SXT'
>>> a.center(10,'*')
'***SXT****'
>>> a.center(10)
'   SXT    '
>>> a.ljust(10,'*')
'SXT*******'
>>> a.rjust(10,'*')
'*******SXT'

isalnum 是否字母或数字
isalpha 是否只有字母组成(包括汉字)
isdigit 数字
isspace 空白符
isupper 大写
islower 小写

字符串格式化

>>> a = "名字是:{0},年龄是{1}"
>>> a.format('wy','18')
'名字是:wy,年龄是18'
>>> a.format(age=18,name='wy')
'名字是:wy,年龄是18

填充和对齐

>>> '我是{0},我喜欢数字{1:*^8}'.format('wy','666')
'我是wy,我喜欢数字**666***

^<>居中,左对齐,右对齐

数字格式化

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值