pycharm学习第二章节

1415-戚同学

发表文章数:6

热门标签

,
首页 » Python » 正文

课时16
赋值:1链式赋值:用于同一个对象赋值给多个变量,如a=b=123,相当于a=123,b=123
2系列解包赋值:给对应相同个数的变量(个数必须保持一致),如a,b,c=4,5,6,相当 于a=4,b=5,c=6

课时17
内置数据类型:每个对象都有类型,python中最基本的内置数据类型是整型,浮点型,布尔型,字符串型,使用divmod()函数可以同时得到商和余数

课时18
整数:不同进制,其他类型转换成整数
pycharm学习第二章节
Int(“123”) >>123 int(False) >>>0 int(True) >>>1
Int(123.99) >>123(直接舍弃小数部分)
整数和浮点数相加,自动转换为浮点数 13+4.8 >>>17.8
二进制,八进制,十六进制这三种进制可以非常方便的进行”位运算操作。
Python3中可以做超大数的计算,而不会造成“整数溢出,这也是python特别适合科学运算的特点。

课时19
浮点数:自动转换,强制转换,增强赋值运算符
Float() ,如果想要得到四舍五入的值,可以用round(value),但是不会改变原有值,而是产生新的值。
增强型赋值运算符:
+=,-=,*=,**=,/=,//=,%=(如a += 2,等价为a = a + 2,+=中间不能加空格)

课时20
时间表示:unix时间点,毫秒和微秒,time模块Time.time()可以得到

import time
b=int(time.time())
print(b)
totalminutes = b/60
totalhours=totalminutes/60
totaldays=totalhours/24
totalyears=totaldays/365
print(totalminutes)
print(totalhours)
print(totaldays)
print(totalyears)

课时21
多点坐标:绘制折线图,计算两点距离

# 绘制折线图,求两点距离
import turtle
import math
# 定义多个点的坐标
x1,y1=100,100
x2,y2=100,-100
x3,y3=-100,-100
x4,y4=-100,100
# 绘制折线
# 抬起画笔
turtle.penup()
# 出发到(x1,y1)
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)

课时22
布尔值:比较运算符,逻辑运算符,短路问题
比较运算符:比较值
, >,<,>=,<=,!=,返回False,True
逻辑运算符:or,and,not表示或与非,返回False,True
课时23
同一运算符:整数缓存问题
同一运算符:用于比较两个对象的存储单元,实际比较的是对象的地址。
Is,isnot
Is与
的区别:
Is用于判断两个变量引用对象是否为同一个,即比较对象的地址;
用于判断引用对象的值是否相等,默认调用对象的_eq_()方法。
Is运算符比
效率高,在变量和NONE进行比较时,应该使用is。

a = 1000
b = 1000
print(a==b)
print(a is b)
print(id(a))
print(id(b))

整数缓存问题:
Python仅仅对比较小的整数对象进行缓存,范围在[-5,265]缓存起来,而非是所有整数对象,需要注意的是,这仅仅是在命令行中执行,而在pycharm或者保存为文件执行,结果是不一样的,这事因为解释器做了一部分优化(范围是[-5,,任意正整数])。

课时24
字符串:unicode字符集,三种创建字符串方式,len()
字符串的本质是:字符序列,python的字符串是不可变的,我们无法对原字符串做任何修改,但可以再字符串的一部分赋值到新创建的字符串,达到“看起来修改”的结果。
Python不支持单字符类型,单字符也是作为一个字符串使用的。
字符串的编码“python3是直接支持16位的Unicode,可以表示世界上任何书面语言的字符。ASCII码是Unicode编码的子集。
使用内置函数ord()可以把字符转换成对应的Unicode码;
使用内置函数chr()可以把十进制数字转换成对应的字符。
我们可以通过单引号或者双引号创建字符串;
使用一对三个单引号或者双引号,创建多行字符串。
Python支持空字符串,len()计算其为0个字符。
在python中一个中文汉字和一个英文字符的len()都是1.

课时25
字符串:转义字符,字符串拼接,字符串复制,input()获得键盘输入
转义字符:我们可以使用”+特殊字符”,实现某些难以用字符表示的效果。
pycharm学习第二章节
字符串的拼接与复制:

print("3"+"4") >>>34 
print("a"+"b") >>>ab
print(3+"a")     这个会报错,int型和字符型
print("a"+"12") >>>a12
print(3+4)      >>>7
print("a""b""c")  >>>abc 可以将多个字面字符串直接放到一起实现拼接
print("a"*3)    >>>aaa

不换行打印
Print默认自动打印一个换行符,如果不想换行,使用end参数

print("a",end=" ")
print("b",end="**")
print("c",end="%")
a b**c%

print("a",end="")
print("b",end="**")
print("c",end="%")
ab**c%

从控制台读取字符串

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

课时26
字符串:str(),[]提取字符,replace()替换,内存分析
str()将数字转成字符串:pycharm区别大小写

print(str(5))
print(str(3.14e2))
print(str(True))
print(str(true)) 会报错

得到:
5
314.0
True

[]提取字符:正搜索从0开始,反向搜索从-1开始

a = "abngyiuohgjkklnll"
print(a[0])
print(a[-1])

得到:
a
1

replace()替换

a = "abngyiuohgjkklnll"
print(a.replace("b","高"))
得到:a高ngyiuohgjkklnll

课时27
字符串:切片slice操作,逆序
字符串切片slice:快速提取子字符串。标准格式为:[其实偏移量start:终止偏移量end:步长step]
三个参数为正数的情况:
左0开始,右-1开始,算左不算右,输出的字符数为end参数值减去start参数值,如[2:8]为6

b = "stststafdsf12345"
print(b[:])  提取整个字符串
print(b[::-1])
print(b[3:50])
print(b[-3:50])
# 结果为345
print(b[-3:-50])
# 没有报错,也没有显示结果,切片操作时
print(b[-50:-3])

stststafdsf12345
54321fsdfatststs
tstafdsf12345
345

stststafdsf12

#起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量少于0则会当作0,终止偏移量大于长度-1,则会当成-1.

a="ststststst"
print(a[:8])
print(a[:8:2])
print(a[1:8])
print(a[1:8:2])

stststst
ssss
tststst
tttt

课时28
字符串:split()分割,join()合并,join()效率测试

split()可以基于指定分隔符讲字符串分割成多个子字符串,如果不指定,则默认使用空白字符(换行符/空格/制表符)
c="a sdf sadf asfdf  ggjh"
print(c.split())
print(c.split("sdf"))
['a', 'sdf', 'sadf', 'asfdf', 'ggjh']
['a ', ' sadf asfdf  ggjh']
# join()拼接
a=["sc","fsdf","fasdf"]
print("*".join(a))
得到:sc*fsdf*fasdf

拼接字符串要点:
使用字符串拼接符+,会产生新的字符串对象,因此不推荐使用+来拼接字符串,推荐使用join函数,因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。

# join()拼接
# 测试+拼接符合join(),不同的效率
import time
time01=time.time()
# 起始时间
a=""
for i in range(1000000):
    a += "sxt"
time02=time.time()
# 结束时间
print("运算时间"+str(time02-time01))

time03=time.time()
# 开始时间
li=[]
for i in range(1000000):
    li.append("sxt")
# append主要用于给某个切片slice追加元素,函数的返回值必须要变量接受,不然编译器会报错
a="".join(li)
time04=time.time()
# 终止时间
print("运算时间"+str(time04-time03))
#
# 运算时间0.7490427494049072
# 运算时间0.16600966453552246

课时29
字符串:驻留机制,内存分析,字符串同一判断,值相等判断
驻留机制:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中,python支持字符串驻留机制,对于符合标识符规则的字符串(仅包括下划线,字母和数字)才会启用驻留机制。

我们可以直接使用==,!=对字符串进行比较,是否含有相同的字符。
我们使用is/not is ,判断两个对象是否同一个对象。比较的是对象的地址,即id(a)与id(b)是否相等。

成员操作符:

# 成员操作符
a="asdsfsdgfr"
print("as" in a)
print("f" in a)
print("f" not in a)

True
True
False

课时30
字符串:常用查找方法,去除首位信息,大小写转换,排版

a="我是***,来自sadfsa,谢谢"
# print("字长"+len(a)),报错
print("字长"+str(len(a)))
print(a.startswith("我"))
print(a.endswith("谢谢"))
print(a.find("s"))
# 这个地方的答案是8,可以理解为从0开始数吗???????????????
print(a.rfind("s"))
print(len("*"))
print(len(","))
print(a.count("s"))
print(a.isalnum())

字长17
True
True
8
12
1
1
2
False
# strip()去除收尾指定信息,lstrip()去除左边指定信息,rstrip()去除右边指定信息
a="*adsafsa/"
print(a.strip("*"))
print(a.strip("/"))

b="*adsafsa*"
print(b.lstrip("*"))
print(b.rstrip("*"))

大小写互换

a="abk jn ASDF afc"
print(a.upper())
print(a.lower())
print(a.title())
print(a.capitalize())
print(a.swapcase())
ABK JN ASDF AFC
abk jn asdf afc
Abk Jn Asdf Afc
Abk jn asdf afc
ABK JN asdf AFC

格式排版

a="abcdef"
# print(a.center()),不运行
print(a.center(10))
print(a.center(10,"*"))
print(a.ljust(10,"*"))
print(a.rjust(10,"*"))

  abcdef  
**abcdef**
abcdef****
****abcdef
a="adas中国"
# isalnum()是否为字符或者数字  print(a.isalnum())
# isalpha是否只有字符串组成(含汉字)print(a.isalpha())
# isdigit()是否只有数字组成 print(a.isdigit())
# isupper()是否为大写字母   print("AD".isupper)
# islower()是否为小写字母   print("ad".islower)
# isspace()是否为空白符     print("/t/n".isspace())  
# True
# True
# False
# <built-in method isupper of str object at 0x003FEC60>
# <built-in method islower of str object at 0x003FECC0>
# True

课时31
字符串:format格式化,数字格式化操作
从python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。
基本语法是通过{}和:来替代之前的%。Format()函数可以接受无线参数,位置可以不按顺序。
我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便。

a="我的名字是{0},年龄是{1},{0}是个好孩子,他的数学考了{2:.2f}"
print(a.format("小名",8,88.896))
# 我的名字是小名,年龄是8,小名是个好孩子,他的数学考了88.90

填充与对齐
^,<,>分别是居中对齐,左对齐,右对齐,后面带宽度
:后面带填充的字符,只能是一个字符,不指定的话默认用空格填充

数字格式化
浮点数通过f,整数通过d进行需要的格式化。
pycharm学习第二章节

标签:

未经允许不得转载:作者:1415-戚同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《pycharm学习第二章节》 发布于2020-11-20

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录