python学习(一)

学习资源:https://www.bilibili.com/video/av4050443 python编程:从入门到实践

环境:win10+vscode +Anaconda(python3.7)

一、遇到问题

1.CMD中无法无法查的python版本 并跳转微软商店

解决方法:修改环境变量 系统变量中将安装的python优先级提前

二、学习笔记

1."与’的区别

(https://blog.csdn.net/kevindree/article/details/86796664)
两者没有区别,都可以用来表示一个字符串。但可以通过单双混合使用,可以减少转义字符

my_str1 = 'I\'m a student'
my_str2 = "I'm a student"
print(my_str1)
print(my_str2)
————————————————————下方为输出结果————————————————————
I'm a student
I'm a student
两者结果都为I'm a student
my_str1 = "Jason said \"I like you\""
my_str2 = 'Jason said "I like you"'
print(my_str1)
print(my_str2)
————————————————————下方为输出结果————————————————————
Jason said "I like you" 
Jason said "I like you" 
结果都为 Jason said "I like you"  

2.(&,|)和(and,or)之间的区别

https://blog.csdn.net/weixin_40041218/article/details/80868521

2.1数值变量

&、|分别表示按位与、按位或

1 & 2         # 输出为0
1 | 2         # 输出为3

and有0反0,无0反第二个数
or 返回第一个非0数

# 判断变量是否为0, 是0则为False,非0判断为True,
# and中含0,返回0; 均为非0时,返回后一个值, 
2 and 0   # 返回0
2 and 1   # 返回1
1 and 2   # 返回2

# or中, 至少有一个非0时,返回第一个非0,
2 or 0   # 返回2
2 or 1   # 返回2
0 or 1   # 返回1 

2.2逻辑变量

两者基本一致

In[103]:(3>0) | (3<1)
Out[103]: True
In[104]:(3>0) and (3<1)
Out[104]: False
In[105]:(3>0) or (3<1)
Out[105]: True
In[106]:(3>0) & (3<1)
Out[106]: False

注意事项: x and y 中 ,x为false则不会计算y 等同 |

3.python语句中的 end=’'用法

结合程序讲解:

原程序

temp= input("请输入一个整数 :") 
number =int(temp) 
while number: 
     i = number - 1 
     while i: 
          print(' ',end ='') 
          i = i - 1 
     j = number 
     while j: 
          print('*', end = '') 
          j = j - 1 
     print() 
     number = number - 1 
————————————————————下方为输出结果————————————————————
请输入一个整数 :5
    *****
   ****
  ***
 **
*

将print(’ ‘,end =’’)改为 print(’ ')后 此时每个print函数在字符串末尾添加一个换行符

temp= input(" 请输入一个整数 :") 
number =int(temp) 
while number: 
     i = number - 1 
     while i: 
          print(' ') #此处发生了变化
          i = i - 1 
     j = number 
     while j: 
          print('*', end = '') 
          j = j - 1 
     print() 
     number = number - 1 
请输入一个整数 :5
 
 


*****



****


***

**
*
 
#若把print(' ')换成print('1') 更为明显
 请输入一个整数 :5
1
1
1
1
*****
1
1
1
****
1
1
***
1
**
*

end =’‘的位置 print(’ ‘,‘1’,end =’’) 并调换三者之间的关系 (无影响,但注意格式,end =’'前面加,后面加+)

print(' ','1',end ='') 
————————————————————下方为输出结果————————————————————
 请输入一个整数 :5
  1  1  1  1*****
  1  1  1****
  1  1***
  1**
*
#其中,经过print之后显示为” “(空格) print('The quick brown fox', 'jumps over', 'the lazy dog')
为The quick brown fox jumps over the lazy dog


print(end =''+' '+'1') 
print(' ' ,end =''+'1') 
————————————————————下方为输出结果————————————————————
均为:
 请输入一个整数 :5
 1 1 1 1*****
 1 1 1****
 1 1***
 1**
*

print(end =''' ','1')  #错误

print(end ='5'+' '+'1')
————————————————————下方为输出结果————————————————————  
 请输入一个整数 :5
5 15 15 15 1*****
5 15 15 1****
5 15 1***
5 1**
*

4.字符串转换()

在这里插入图片描述
浮点型转化为整数,直接截断处理,去掉小数点后面的 5.99——>5

str float int 可定义为变量 str=”“ 但完全不建议

切记int()只能转化由纯数字组成的字符串

a ="520"#字符串
b =int (a)
c=float(b)
print(b+c)
————————————————————下方为输出结果————————————————————
1040.0

a ="520.9" #字符串
b =int(a)#切记int()只能转化由纯数字组成的字符串
c=float(b)
print(b+c)
————————————————————下方为输出结果———————————————————— 
报错  发生异常: ValueError
invalid literal for int() with base 10: '520.9'

a ="520.9" #字符串
c=float(a)
b =int(c)
print(b+c)
————————————————————下方为输出结果———————————————————— 
1040.9

type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象(暂不深究)。
isinstance() 函数来判断一个对象是否是一个已知的类型
isinstance(320.25,bool) 判断类型是否一致

5.python运算符

https://www.runoob.com/python/python-operators.html#ysf4

注意:python2与python3存在不一样的地方

python3中 /正常除法 10/8=1.25 “//”表示地板除法

python2中 / 地板除法 10/8 =1

3**5=3^5

-32=-(3 ** 2)=-9 3-2=3**(-2)=0.11111111111111

not or and 的优先级是不同的: not > and > or (直接用括号)

在这里插入图片描述

6.分支和循环(8-10)

x,y,z="五五开","white","马飞飞"
卢本伟=x if x == y else z
print(卢本伟)
————————————————————下方为输出结果————————————————————
马飞飞
#结果为马飞飞 if 后面的判断句,正确为x,错误为z

assert 断言 在其自杀前将其击毙 可当作检查点
Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
x,y,z互换 :x, y, z = z, y, x

for i in range(0, 10, 2): 从0到小于10 每次跳2 0,2,4,6,8

Python 字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false。

而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回 true。

break continue

7.列表(11-13)

7.1列表中插入

append #每次只能加一个

member=['卢本伟','white']
print(member)
print(len(member))
member.append('五五开')
print(member)
print(len(member))
————————————————————下方为输出结果————————————————————
['卢本伟', 'white']
2
['卢本伟', 'white', '五五开']
3

extend #可插入列表 即[]

extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

member=['卢本伟','white']
member.extend(['五五开',"卢本伟牛逼"])
print(member)
print(len(member))
————————————————————下方为输出结果————————————————————
['卢本伟', 'white', '五五开', '卢本伟牛逼']
4

insert #从指定位置或0开始 插入

insert() 函数用于将指定对象插入列表的指定位置,无返回值
list.insert(index, obj)
index – 对象 obj 需要插入的索引位置。(插完后 在index处指向obj)
obj – 要插入列表中的对象。

7.2列表中删除

remove(‘’)查找并删除 只删除第一个

member=['卢本伟牛逼','卢本伟牛逼','卢本伟牛逼','五五开牛逼','五五开牛逼','痛苦呀马飞飞']
member.remove('卢本伟牛逼')
print(member)
————————————————————下方为输出结果————————————————————
['卢本伟牛逼', '卢本伟牛逼', '五五开牛逼', '五五开牛逼', '痛苦呀马飞飞']
#只删除找到的第一个

在这里插入图片描述

del[] 删除第几个

member=['卢本伟牛逼','五五开牛逼','卢本伟牛逼','卢本伟牛逼','五五开牛逼','痛苦呀马飞飞']
del member[2]
print(member)
del member #全部删除
————————————————————下方为输出结果————————————————————
['卢本伟牛逼', '五五开牛逼', '卢本伟牛逼', '五五开牛逼', '痛苦呀马飞飞']

pop() 取出最后一个并删除 而且返回值

7.3列表分片

member[a:b] 从a到b且不包含b

在这里插入图片描述
member2=member #指针方式指向

member2=member[]
下面着重讲解[]与直接赋值的区别

member=['卢本伟牛逼','五五开牛逼','卢本伟牛逼','卢本伟牛逼','五五开牛逼','痛苦呀马飞飞']
member2= member[:]#不受member修改影响
member3= member
del member[1]#删除
print(member2)#不受member修改影响
print(member3)#受影响
del member    
print(member2)
print(member3)#此时已经没有了member  无影响
————————————————————下方为输出结果————————————————————
['卢本伟牛逼', '五五开牛逼', '卢本伟牛逼', '卢本伟牛逼', '五五开牛逼', '痛苦呀马飞飞']#member2
['卢本伟牛逼', '卢本伟牛逼', '卢本伟牛逼', '五五开牛逼', '痛苦呀马飞飞']#member3
['卢本伟牛逼', '五五开牛逼', '卢本伟牛逼', '卢本伟牛逼', '五五开牛逼', '痛苦呀马飞飞']
['卢本伟牛逼', '卢本伟牛逼', '卢本伟牛逼', '五五开牛逼', '痛苦呀马飞飞']

————————————————————以地址的形式看下之间的变化————————————————————
old = [1, 2, 3, 4, 5] 
new = old 
print(id(new))  #2405817776456
print(id(old))  #2405817776456
old = [6] 
   
print(id(new))  #2405817776456
print(id(old))  #2405834175048
print(new)   
print(old)  
————————————————————下方为输出结果————————————————————
2405817776456
2405817776456
2405817776456
2405834175048
[1, 2, 3, 4, 5]
[6]

由上面可得:重新赋值时,地址会发生改变

7.4列表中的比较操作符

依次比较

list1=[123,456]
list2=[234,456]
print(list1<list2)
————————————————————下方为输出结果————————————————————
True

列表可拼合、重复

在这里插入图片描述

用in判断列表中的列表

在这里插入图片描述

常见列表的内置函数

list.count(a)      a在list中出现了多少次
list.index (a,b,c)  在list[b,c]中第一次出现a的位置 含b不含c
list.reverse()     前后反转
list.sort()      默认从小到大排, sort(revers=True) 反着来
list.copy()    方法更使用切片拷贝是一样的,即地址会发生改变
list.clear()    清空列表,但列表仍存在
在这里插入图片描述
​​​​​​​​在这里插入图片描述

发布了12 篇原创文章 · 获赞 0 · 访问量 6996
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章