欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python基础学习笔记(一)

程序员文章站 2022-07-02 14:30:22
最好有点c++基础来看,,每天都更新一篇吧 这一篇是一些基础东西 1.运算符 特别的 a / b:为浮点数,a // b 为整数,丢弃小数部分 a**b 为a的b次方 还有 c // = a,c ** = a; python 中没有 &&, ||, ! 分别为 如 if(a and b) ,if(a ......

最好有点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