Python第二节总结

(此文只讲与c语言不同的语法,相同之处没讲)

赋值

链式赋值

x=y=123,相当于x=123;y=123

系列解包赋值

a,b,c=4,,5,6相当于:a = 4;b = 5;c = 6

常量

Python不支持常量,所以只能规定常量的命名规则,以及程序的逻辑上不对常量的值做出修改。标

>>>MAX_SPEED = 120

>>>print(MAX_SPEED)

120

>>>MAX_SPEED = 140 #实际是可以改的。只能逻辑不做修改。

>>>print(MAX_SPEED)

140

基本内置运算符

与c语言不同的基本运算符:

/:浮点数除法 比如7/2=3.5

//:整数除法比如 7//2=3

**:幂 比如2**3=8

0不能做除数

divmod()函数同时得到商和余数

例如:

<<<divmod(13,3)

(4,1)

divmod()是一个函数,返回的是一个元祖。

整数_不同进制

Python中,除10进制外,还有其他三种进制:

    0b或0B,二进制 0 1

    0o或0O,八进制 0 1 2 3 4 5 6 7

    0x或0X,十六进制 0,1,2,3,4,5,6,7,8,9,a,b,c,d,,e,f

整数可以有多大?

    Python2中,int是32位,可以存储-2^31--2^31-1之间的数值。

long类型是64位,可以存储-2^63---2^63-1之间的数值。

    Python3中,int可以存储任意大小的整数,long被取消。我们甚至可以存储下面的值:

>>>googol = 10**100

Python中可以做超大数的计算,而不会造成“整数溢出”,这也是Python特别适合科学运算的特点。

浮点数与科学计数法(此文只讲与c语言不同的语法,相同之处大部分没讲)

如3.14表示成314e-2或314E-2

round(value)可以返回四舍五入的值,

<<<round(3.54)

4

注:但不会改变原有值(对象),而是产生新的值(新的对象)

+=中间不能加空格

时间表示,unix时间点,毫秒微秒,time模块

计算机中时间的表示是从1970年1月1日00:00:00开始,以毫秒进行计算。我们也把1970年这个时刻称为“unix时间点”。

 

time.time(),返回的值是以秒为单位,带微秒(1/1000毫秒)精度的浮点值。

>>> import time
>>> time.time()
1586597484.9840028
>>> b = int (time.time())
>>> b
1586597544
>>> totalminutes = b/60
>>> totalminutes
26443292.4
>>> totalhour = totalminutes/60
>>> totalhour
440721.54
>>> year = totalhour/24/365
>>> year
50.31067808219178


多点坐标_汇出折线_计算两点距离

#导入海龟,math

import turtle 
import math

#定义多个点的坐标
x1,y1 = 100,100
x2,y2 = 100,-100
x3,y3 = -100,-100
x4,y4 = -100,100

#绘制折线
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)

#计算起始点和终点的距离
distance = math.sqrt((x1-x4)**2 + (y1-y4)**2)
turtle.write(distance)

布尔值

python2没有布尔值,直接用0表示False,用数字1表示True.

Python3中,把True和False定义成了关键字,但他们的本质还是1和0,甚至可以和数字相加。

同一运算符

'is'比较的是地址,is效率更高(因为'=='是比较的方法)

'== '比较的是 值

整数缓存问题

[-5,256]

[-5,到任意整数]

总结

字符串

不支持单字符,单字符也是作为字符串使用

编码

Unicode可表示所有文字(包括汉字),2^16种

ord(),把字符转换成对应的Unicode

chr()  ,把十进制转换成对应字符

ASCII(不能表示汉子) ,2^8种

引号创建字符串

创建单行字符串

连续三个单引号或是三个双引号,可以帮助我们创建多行字符。

len()函数

表示查字符串的长度

转义字符

不换行打印

end="任意字符串"

从控制台读取字符串

我们可以使用input()从控制台读取键盘输入的内容

>>>myname = input("请输入名字:")

请输入名字:gaoqi

>>>myname

'gaoqi'

str()实现数字转型字符串

 

使用【】提取字符

索引就是偏移量

 

replace()字符串替换

创建新的字符串对象,以前的不可变

字符串切片slice操作

切片slice操作可以让我们快速的提取子字符串,标准格式为:

[起始偏移量start:终止偏移量end:步长step]

包头不包尾

 

split()分割和join()合并

字符串驻留机制和字符串比较

驻留机制,即用之前的对象,不再建立新的对象。

is/not is

​​

in/not in

常用查找方法

 


去除首尾信息

大小写转换

格式排版

其他方法

字符串格式化,format()基本用法,填充与对齐(转载的)

https://www.cnblogs.com/benric/p/4965224.html

python之字符串格式化(format)

用法:

  它通过{}和:来代替传统%方式

 

1、使用位置参数

要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表

复制代码

>>> li = ['hoho',18]
>>> 'my name is {} ,age {}'.format('hoho',18)
'my name is hoho ,age 18'
>>> 'my name is {1} ,age {0}'.format(10,'hoho')
'my name is hoho ,age 10'
>>> 'my name is {1} ,age {0} {1}'.format(10,'hoho')
'my name is hoho ,age 10 hoho'
>>> 'my name is {} ,age {}'.format(*li)
'my name is hoho ,age 18'

复制代码

 

2、使用关键字参数

要点:关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可

>>> hash = {'name':'hoho','age':18}
>>> 'my name is {name},age is {age}'.format(name='hoho',age=19)
'my name is hoho,age is 19'
>>> 'my name is {name},age is {age}'.format(**hash)
'my name is hoho,age is 18'

 

3、填充与格式化

:[填充字符][对齐方式 <^>][宽度]

>>> '{0:*>10}'.format(10)  ##右对齐
'********10'
>>> '{0:*<10}'.format(10)  ##左对齐
'10********'
>>> '{0:*^10}'.format(10)  ##居中对齐
'****10****'

 

4、精度与进制

复制代码

>>> '{0:.2f}'.format(1/3)
'0.33'
>>> '{0:b}'.format(10)    #二进制
'1010'
>>> '{0:o}'.format(10)     #八进制
'12'
>>> '{0:x}'.format(10)     #16进制
'a'
>>> '{:,}'.format(12369132698)  #千分位格式化
'12,369,132,698'

复制代码

 

5、使用索引

>>> li
['hoho', 18]
>>> 'name is {0[0]} age is {0[1]}'.format(li)
'name is hoho age is 18

 

 

数字格式化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值