1.第一个python程序
hello word
print('hello world')
2.变量
简单来说,变量就是最基本的储存单位,可以暂时的储存放入的东西
其结构为 标识符+赋值+值
number=44
#将44作为值赋值给标识符
如何深刻理解赋值过程
在python中 变量的建立是这样实现的
以number=44为例
python在内存中开辟一个位置/空间并在其中储存一个数字(默认为int)
然后将这个空间加上一个索引number 也就是说将number指向了44所在的空间
我们可以通过ID方法来查询其所在的空间地址
>>> print(id(number))
4377659056
理解三种赋值过程
a=1
#直接赋值 开辟了一个空间并将a指向了1所在的空间
a=2
b=1
a=b
#这个过程中首先是分别开辟了两个空间 并指向变量
#然后我们将b对应的值又再次指向了a 于是a b就同时指向了1 (可以理解为一个房间有两个门牌号)
#python有内存回收机制(当一个变量失去了他的变量名 他就会被删除掉)
a=1
a=2
#首先开辟了一个1并指向a
#然后开辟一个2并指向了a
#最后销毁掉1
3.字符串
字符串就是包裹在引号中的一段符号有如下三种表达方式
print('a')
print("b")
print('''c''')
它们三种表达效果是一样的 那么为什么会出现三种表达方式呢
我们通过以下的案例来理解
print('在苍茫的大海中,狂风卷集着‘乌云’')
SyntaxError: invalid syntax
#此时的python它无法去识别乌云所在的''和整个字符串的‘’
#于是我们通过“”中间套‘’就能够很好的进行区分
#‘’‘ ’‘’同理
字符串的分片和索引
字符串可以通过string[x]的方式进行索引
如:a_string=‘my name is balabala’
>>> a_string='my name is string'
>>> a_string[0]
'm'
>>> a_string[2]
' '
>>> a_string[6]
'e'
我们可以通过一个表格来理解这个索引
m | y | n | a | m | e | ||
0 | 1 | 2 | 3 | 4 | 5 | 6 |
同样的 我们可以通过:来对字符串进行分片 如:
>>> a_string[0:6]
'my nam'
字符串的替换
a='这是一个苹果'
#怎么把这个字符串变成‘这是一个西瓜呢’
我们可以直接使用replace方法
b=a.replace(a[4:6],'西瓜')
如何理解这个replace方法 首先给一个字符串的替换位置 再给一个替换的受体
4.函数
如何去理解一个函数
函数其实就是一个比较固定的规则 而这个规则就是你人为的定制的
他的结构就是
def a_fuction(text):
print(text)
这里的 def是关键字 告诉python我要开始定义变量啦
a_fuction是函数的名字
()指的是我们向函数中传入的一组关键字 这里的关键字可以为空
text指我们会向函数中传进的参数
print(text)为我们要实现的功能
>>> def a_fuction(text):
print(text)
>>> a_fuction('hello')
hello
>>> a_fuction('number')
number
>>>
现阶段我们就先用print作为功能暂时放在这里
后面我们接触循环和判断语句就可以更加熟练的进行功能定制了
5.条件控制,循环和判断
在了解循环和判断前我们先来了解一个布尔值
布尔值只有两种 True /False
同样的在计算机世界中对应着1和0
>>> a=1
>>> a==3
False
>>> a==1
True
来 让我们理解一下这是怎么判断的
首先我们定义了一个变量
然后我们通过‘==’来判断
a等于3吗 计算机告诉我们 他不是
a等于1吗 计算机告诉我们 他是的
由此我们就产生了布尔值
比较运算符
比较运算符 | 意义 |
== | 左右两边相等返回True |
!= | 左右两边不相等时返回True |
> | 左边大于右边的时候返回True |
< | 左边小于右边的时候返回True |
<= | 左边小于等于右边的时候返回True |
>= | 左边大于等于右边的时候返回True |
/条件控制
条件控制其实就是if else的使用
用人类听的懂的话来说就是 如果怎么样就怎么样
if else有两种
他们分别是
if else
if elif … else
/循环
循环有两种 for循环和while循环
for循环结构很简单
for i in 集合:
pass
人话就是 在集合里有一个i 然后i 每前进一位就把集合中的元素指向i 并从事后面的操作
>>> a=[0,1,2,3]
>>> for i in a:
print(i+1)
1
2
3
4
>>>
牛逼的循环 嵌套循环
>>> a=[1,2,3,4,5]
>>> b=[1,2,3,4,5]
>>> for i in a:
for x in b:
print(i*x)
输出的就是1-5的乘法口诀表
/while循环
不同与for循环 while循环是采用真值作为运算的 也就是说只有在条件成立的时候 循环才能进行下去
他的写法是
while 一个条件:
做一件事
来看看例子|:
>>> a=3
>>> while a>0:
print('这个数不是0')
a=a-1
这个数不是0
这个数不是0
这个数不是0
>>>
每次循环的时候 程序都会反复的对条件进行判断,当得知我们的a 大于0时 程序就会进行下去 并在a 的基础上减1直到a 小于或者等于0为止
用一个小条件让while循环停下来
>>> count=0
>>> while True:
print('我在跑啦')
count=count+1
if count ==5:
print('结束啦')
break
我在跑啦
我在跑啦
我在跑啦
我在跑啦
我在跑啦
结束啦
>>>
数据与结构
python有四种结构分别是
列表 字典 元组 集合
我们先来认识一下这四种数据结构
list =[0,1,2,3,4]
dict={a:1,b:2}
tuple=(1,2,3,4)
set={1,2,3,4}
这四种数据结构非常重要 我们一个一个来讲
列表 列表有如下几种特征
1.列表中的每一个元素都是可变的;
2.列表的元素是有序的,可以通过索引进行切片和查询
3.列表可以容纳任何对象
>>> a_list=[]
>>> a_list=[1,1.1,'word',print('hello'),True,[1,2],(1,2),{a:1}]
hello
>>> for i in a_list:
print(i)
1
1.1
word
None
True
[1, 2]
(1, 2)
{0: 1}
>>>
就是这么牛批
列表能够进行增删改查
增 list.insert(位置,内容)
list.append(内容)直接加在最后面
删 list.remove(内容)通过关键字进行删除
del list[位置]
改 list[位置]=新内容
查 print(list[位置])
字典
字典和列表用的最多,字典的特征就是花括号和键值对,总结起来就是
1.字典中数据必须是以键值对的形式出现的
2.逻辑上讲,键是不能重复的,而值是可以重复的
3.字典的键不可以变而值可以变 值可以是任何对象
my_data={'name':'mei','age':21,'sex':'men'}
很简单对吗
让我们来康康字典的增删改查
增:
>>> my_data={'name':'mei','age':21,'sex':'men'}
>>> my_data['class']='5'
>>> print(my_data)
{'name': 'mei', 'age': 21, 'sex': 'men', 'class': '5'}
>>>
批量增加
>>> my_data.update({'a':1,'b':2})
>>> print(my_data)
{'name': 'mei', 'age': 21, 'sex': 'men', 'class': '5', 'a': 1, 'b': 2}
>>>
删除元素 del
>>> a={'q':1,'a':2}
>>> del a['a']
>>> print(a)
{'q': 1}
>>>
很离谱的是 字典的索引需要用字典中的键进行索引
同时字典也没有办法进行切片
元组和集合
元组和集合相对用的少 因为元组从建立之后就没办法进行更改,集合作用在我看来跟列表没什么区别(个人意见)
这里的元组是()集合是{}
不同于字典 集合中放置的不是键值对而是单个的元素
让我们来展示一下吧
>>> letters=('1',2,3,'4')#元组
>>> letters
('1', 2, 3, '4')
>>>
>>> jihe={1,2,3,4,5}#集合
>>> jihe.add(123)
>>> jihe
{1, 2, 3, 4, 5, 123}
>>> jihe.discard(4)
>>> jihe
{1, 2, 3, 5, 123}
>>>
类
我们使用class来定义一个类 就像是创建函数的时候使用def来定义一个函数一样简单
怎么去理解一个类 类应当是包含一类相似特征的集合
就像是鸟类 他们都会飞 鱼类他们都会游泳
对于代码来说 也是这样
>>> class bird:
yumao='red'
jiaoshneg='尖锐'
>>> bird1=(bird)
>>> bird2=(bird)
>>> bird1.yumao
'red'
>>> bird2.yumao
'red'
>>>
我们首先定义了一类鸟的特征 比如叫声很大 羽毛是红色的
然后我们new了两只鸟 鸟1和鸟2
这时我们的两只鸟都拥有了定义的类的特征了
都有红色的羽毛,尖锐的叫声
这两只鸟我们就称之为实例化的对象 他们的羽毛颜色等就被称之为实例化的属性
难道类就这点功能吗 非也非也
让我们来看看牛逼的
类的方法
>>> class bird:
bird_colour='red'
def bird_say():
print('我是一只小鸟')
>>> bird1=bird()
>>> bird.bird_colour
'red'
>>> bird.bird_say()
我是一只小鸟
>>>
好了 一只聪明的小鸟诞生了
这里bird_say函数就是类方法的调用