Python学习

Python学习笔记-第2天: 开发环境和语法基础(1)

2019-12-04  本文已影响0人  6d1bf2ffc4f3

第二天 开发环境和语法基础(1)

今天主要计划学习用VSCode搭建开发环境及Python语法基础
学习涉及到的源码地址:GitHub源码

使用VSCode打造Python开发环境

可以用来开发Python的开发工具很多,我选择了VSCode,原因很简单,因为它是跨平台的,而且免费的。

调试快捷键:

```
F5:调试/继续,
F10:单步跳过,
F11:单步进入,
Shift+F11:跳出。
F9:切换断点
```

接下来,开撸吧。

Python编程基础

Python程序的基本格式

Python程序的构成

***重点Python中的对象

在Python中一切都是对象。

对象由三部分组成:identity,type,value组成,它的本质被解释器放在内存堆中。拥有特定的值,支持特定类型的相关操作。

比如定义一个变量:a = 1

1就是对象,它存在在内存中如下:

id type value
4395429648 int 1

变量a其实是对象id的引用,存放在内存栈中;如果在定义一个变量:b = 1,那么a和b指向的是同一个引用地址。

可以通过内置方法:id(a) 或 id(1)获取对象的id,type(a)获取对象的类型。

***重点: Python只会缓存[-5,无穷大]的整数,所以,在这里,a和b的引用地址一样。这里不注意的话,可能是个坑。内置数据类型:数值型,字符串,列表,字典等都会有自己的对象缓存池,这样做的好处是,避免了频繁的申请内存,释放内存,这样会极大的降低应用程序的运行速度,还会造成大量的内存碎片。因此提供对象缓存机制是非常重要的。

综上,可以总结两个点:

Python的标识符

变量的定义和赋值

内置数据类型和常用运算符号

&与,|或,^异或,>>,<< 移位

a = 0b1001
b = 0b1000

bin(a|b) # 0b1001 参加运算的两个对象只要有一个为1,其值为1
bin(a&b) # 0b1000 两位同时为“1”,结果才为“1”,否则为0
bin(a^b) # 0b1    参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

bin(a>>2) #0b10 右边移出的空位一律补0,丢弃移出的位
bin(a<<2) #0b100100 左边移出的空位一律补0

字符串

Python字符串的特点

使用',",''',"""创建字符串和转义符号\

''' 或 """ 可以创建多行字符串
"   里面可以不用转义'
\  用来转义特殊符号
a = ''' 测试创建多行字符串:
a = "abcd"
b = "ooooo"
完毕'''
b = "双引号'可以不用转义'"
c = '' # 控制符串
d = '\'\'\'转义符号测试 \r\t\\\n完毕'

e = "abcd"
e[1] # b

常用操作及内置函数

a = "a" + "b" # ab
b = "a" * 3 # aaa

c = "ab"
c is a # True
c is not a # False

d = "abc#"
e = "abc#"

#### 此处需要注意,Python仅对字符串由_、字符、数字组成的字符串进行缓存(字符串驻留机制)
d is e # False 
d is not e # True

d == e # True

"a" in d # True

"f" not in d # True

a1 = "ab"
a2 = "bc"

a1 + a2 == "abbc" # True
a1 + a2 is "abbc" # False

内置函数
a = "abcdef"
b = ""
c = 314e-2

len(a) # 6
len(b) # 0

str(c) # 3.14
str(True) # 1
成员函数
a = "abcdabcdabcdabcd"
b = "abcdabcd测试abcdabcd"

a.startswith("abcd") #True
a.endswith("d") # True
a.find("abcd") # 0 第一次出现位置
a.rfind("abcd") # 14 最后一次出现的位置
a.count("abcd") # 4出现4次

a.capitalize() # Abcdabcdabcdabcd
b.swapcase()  # ABCDABCD测试ABCDABCD

b.center(30,'*') # ******abcdabcd测试abcdabcd****** 30为填充后的总长度

Python中的序列

序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放多个值的连续的内存空间。Python中常用的序列结构有:字符串、列表、元组、字典、集合。

列表

列表是大小可变的、用于存储任意数目、任意类型的数据集合。

```python
a = [1,2,3,4,5]
b = ['a','b','c','d']
c = ['a','abc','1',2,True]

a.sort() 
print(a) # [1,2,3,4,5]
b.sort(reverse=True) #
print(b) # ['d', 'c', 'b', 'a']

c.sort() # 报错:not supported between instances of 'int' and 'str'

a.reverse()
print(a) # [5, 4, 3, 2, 1]

a1 = sorted(a)
print(a) # [5, 4, 3, 2, 1]
print(a1) # [1, 2, 3, 4, 5]

```
上一篇下一篇

猜你喜欢

热点阅读