python基础学习笔记(一)
最好有点c++基础来看,,每天都更新一篇吧
这一篇是一些基础东西
1.运算符
2.变量
3.基本输入输出
4.字符串
5.列表
6.元组
7.字典
8.集合
9.简单的说下循环啥的
1.运算符
特别的
a / b:为浮点数,a // b 为整数,丢弃小数部分 a**b 为a的b次方
还有 c // = a,c ** = a;
python 中没有 &&, ||, !
分别为 如 if(a and b) ,if(a or b) if( not a),
and ,or , not来代替
其中还有 in 和 not in
可以在字符串,列表或元组序列中使用 直接查找是否存在
还有is 和 is not 顾名思义
2.变量
不必声明变量类型 直接 比如 x = 3即可
改变的时候也可以直接转换
x = 'a' y = 'b' print(x) print(y) x = 1 y = 2 print(x) print(y)
3.基本输入输出
输入用input
x = input("x:") y = input("y:") #print(x * y) 则错误 ,因为输入的内容是以字符串的形式返回的,应该转换成int型 print(int(x) * int(y))
输入不区别单引号和双引号
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义"""
或者 \n 写成 \\n 其中 \\ 表示\
# 换行输出 print( x ) print( y ) print('---------') # 不换行输出 print( x, end=" " )#表示末尾为空格 print( y, end=" " ) print()'''
print用,连接字符串和变量
x = "aaaa" print("x:" ,x)
4.字符串
str = "wangpeibing" print(str) print(str[0:-1]) print(str[0]) print(str[2:5])#截取 print(str[2:])#第二个字符到最后 print(str*2)#输出两次 print(str+"你好")#连接
可以有查找
if("wang" in str): print(1)
字符串的格式化:就是类似于c语言的表达形式
print("my name is %s and weight is %d kg!" % ('peibing', 21) )
5.列表
类似c语言数组,有下标。特征是中括号,也有切片,,类似字符串
a = [1,2,3] b = [4 ,5 ,6] print(a + b)#连接 print(len(a))#长度 print(a*4)
del a[0]#删除第一个元素 print(a[-1])#倒数第一个 print(3 in a) for i in a :#循环迭代输出 print(i)
还可以嵌套
c = [a,b] #嵌套 类似于二维数组 print(c) print(c[1][0])
一些常用方法
max(a)#列表最大值 min(a)#列表最小值 list.append(1)#a的末尾添加1 list.count(1)#a中统计出现1次数 list.index(1)#从列表中找出某个值第一个匹配项的索引位置 list.insert(下标,obj)#将对象插入列表,obj自己定义 list.pop([index=-1]])#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list.remove(obj)#移除列表中某个值的第一个匹配项 list.reverse()#反向列表中元素 list.clear()#清空列表 list.copy()#复制列表
sort,sort 方法不适合 int 和 str 类型的比较。
#list.sort(cmp=none, key=none, reverse=false)#对原列表进行排序 #reverse = true 降序, reverse = false 升序(默认) # 获取列表的第二个元素 def takesecond(elem):#函数 return elem[1] # 列表 random = [(2, 2), (3, 4), (4, 1), (1, 3)] # 指定第二个元素排序 random.sort(key=takesecond) # 输出类别 print('排序列表:', random)
list=[ ["1","c++","demo"], ["1","c","test"], ["2","java",""], ["8","golang","google"], ["4","python","gil"], ["5","swift","apple"] ] list.sort(key=lambda ele:ele[0])# 根据第1个元素排序 print(list) list.sort(key=lambda ele:ele[1]) #先根据第2个元素排序 print(list) list.sort(key=lambda ele:ele[1]+ele[0]) #先根据第2个元素排序,再根据第1个元素排序 print(list)
6.元组
元组和列表差不多 特点是不能修改,小括号啊
只有一个元素要加,
>>>tup1 = (50) >>> type(tup1) # 不加逗号,类型为整型 <class 'int'> >>> tup1 = (50,) >>> type(tup1) # 加上逗号,类型为元组 <class 'tuple'>
删除的话要么全部删除,要不就不能删
其他的方法都和列表 差不多
list(元组) 将元组转化成列表 tuple(列表) 将列表转化成元组
7.字典
理解为c++中的map。特点是大括号,每一个键都对应这键值
dict = {'name': 'runoob', 'age': 7, 'class': 'first'} print ("dict['name']: ", dict['name']) print ("dict['age']: ", dict['age']) dict['name'] = 'peibing' #修改相应的键值 del dict['name'] # 删除键 'name' dict.clear() # 清空字典 del dict # 删除字典
注意 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,
一些方法
求长度 len(dict) 为3
显示 str(dict)
判断类型type(dict)
8.集合
和c++的set差不多,主要是去重
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
a = {'abracadabra'}#这时候set里面有一个字符串的值 print (type(a)) print(a) a = set('abracadabra')#这时候给他规定为这个set里依次存放了这个字符串的字符 print (type(a)) print(a)
>>> a = set('abracadabra') >>> b = set('alacazam') >>> a {'a', 'r', 'b', 'c', 'd'} >>> a - b # 集合a中包含元素 {'r', 'd', 'b'} >>> a | b # 集合a或b中包含的所有元素 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} >>> a & b # 集合a和b中都包含了的元素 {'a', 'c'} >>> a ^ b # 不同时包含于a和b的元素 {'r', 'd', 'b', 'm', 'z', 'l'}
>>>thisset = set(("google", "runoob", "taobao", "facebook")) >>> thisset.pop() 'facebook' >>> print(thisset) {'google', 'taobao', 'runoob'}
9.简单的说下循环啥的
有while 和for两个,基本用法都和c差不多,包括break和continue,先看while
i = 1 while i < 10: i += 1 if i%2 > 0: continue print i i = 1 while 1: # 循环条件为1必定成立 print i # 输出1~10 i += 1 if i > 10: # 当i大于10时跳出循环 break
有c++基础的应该不难看懂,注意这个没有大括号,是通过缩进和一些 : 来判别的
接下来是for循环
可以是
fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # 第二个实例 print (当前水果 :', fruit)
也可以是
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print ('当前水果 :', fruits[index])
range返回一个序列的数。
for num in range(10,20): # 迭代 10 到 20 之间的数字 for i in range(2,num): # 根据因子迭代 if num%i == 0: # 确定第一个因子 j=num/i # 计算第二个因子 print ('%d 等于 %d * %d' % (num,i,j)) break # 跳出当前循环 else: # 循环的 else 部分 print (num, '是一个质数')
else if 在python中写成elif