Python 基础自学笔记...

“”"
多行注释
“”"

或者

‘’’
多行注释
‘’’

‘’’
1.检测数据类型 type(数据)
list 列表 [1,2,3]
tuple 元组 (1,2,3)
set 集合 {1,2,3}
dict 字典 {‘name’:‘Tom’,‘age’:18}

2.格式化输出
%s 字符串
%d 有符号的十进制数
%f 浮点数

weight = 65.5
print('体重是%f.2岁' %weight)    # 保留几位在 f 后加.数字
student_id = 3 
print('学号是%03d' %student_id)  #三位数,不足三位前面补 0 输出 003,超出的原样输出
age = 18
print('my age is %d,and 明年%d岁.' %(age,age+1)) 

f 直接格式化输出(py3.6)

print(f'my name is {name},明年{age + 1}岁了')

转义字符
/n 换行 /t 制表符(一个 tab 键(4 个空格)的距离)

结束符(print 默认结束是换行/n)

print('  ' , end = "...") 

输入 并赋值

x = input("提示信息") #数据类型为 str

数据类型转换
eval() --计算在字符串中的有效 python 表达式,并返回一个对象(把字符串里转换成原本的类型)

运算符

  1. 算术运算符 //整除 **指数

  2. 赋值运算符

  3. 复合赋值运算符 c += a <<->> c = c+a 先计算复合赋值运算符右边的运算,再复合赋值。

  4. 比较运算符

  5. 逻辑运算符 and(有0则0,否则结果为最后一个非0数) or(所有为0才0,否则为第一个非0数) not

条件语句

if True: 
         print(' ')
  elif (18<=age<=60):
         print(' ')
  else:  
         print(' ')

导入模块 import 模块名

  1. 三目运算符 条件成立执行的表达式 if 条件 else 条件不成立执行的表达式

循环 while for

break 终止循环
continue 退出当前一次循环(本次循环continue 后的不执行) 继续下一次循环 (一定要在 continue 前就修改计数器)
打印一行五个* while 循环 然后 print(’*’,end=’’) 用 end 取消换行

  str1 = 'nmsl'
  for i in str1:
      print('i')

while else 循环 当while 正常完成循环后才执行else后的 break 不执行 continue 执行

字符串
三引号字符串可以多行

切片

str1 = '073028902'
 `print(str1[2:5:1])`#取不到结束位置数
 `print(str1[-4:-1:-1])`#不能选取出数据 选取数据方向与步长方向冲突

常用操作方法

  1. -find() 检测某个子串是否包含在这个字符串中,如果在,返回索引(第一个出现的子串的第一个字母的索引);否则返回-1
  2. -index() 检测某个子串是否包含在这个字符串中,如果在,返回索引;否则报错
  3. -count() 计算出现的次数
  4. -rfind() 右侧开始查找的第一个子串的正向索引
  5. str.find(子串,开始位置下标,结束位置下标)#空格也算
  6. -replace() 替换 不改变原字符串(字符串是不可变数据类型)
    字符串.replace(旧子串,新子串,替换次数)#替换次数超出子串个数表示替换所有子串,默认替换所有
  7. -split() 按指定字符分割字符串
    字符串序列.split(分割字符,num) #返回 num+1 个数据,分割字符丢失
  8. -join() 合并列表里的字符串数据为一个大字符串
  9. -capitalize() 只有首字母大写,串内大写会被改成小写
  10. -title() 每个单词首字母都大写
  11. -lower() 所有都变小写
  12. -upper() 所有都变大写
  13. -lstrip() 删除左侧空白字符
  14. -rstrip() 删除右侧空白字符
  15. -strip() 删除两侧空白字符
  16. -ljust() 字符串左对齐,不足用填充字符(默认空格)
    字符串序列.ljust(长度,填充字符)
  17. -center() 中间对齐

判断

  • startwith() 检查字符串是否以指定子串开头,是返回 true 否返回 false
    字符串序列.startswich(子串,开始位置下标,结束位置下标)
  • endwith() …
  • isalpha() 如果至少有一个字符且所有字符都是字母返回 true
  • isdigit() 如果只包含数字返回 true
  • isalnum() 如果至少有一个字符且所有字符都是数字或字母返回 true
  • isspace() 如果只包含空白返回 true

列表 [数据 1,数据 2,数据 3…]

查找

name_list = ['Tom','Lily','Rose']
print(name_list)
print(name_list[0])
  • -index() 返回指定数据所在位置下标
  • -count() 统计指定数据在当前列表中出现次数
  • -len() 访问列表长度
    列表序列.index(数据,开始位置下标,结束位置下标)
print(name_list.count('Tom'))
print(len(name_list))
  • -in 判断指定数据在某个列表序列,如果在返回 True
    -not in 判断不在
 print('Lily' in name_list)
  • append() 列表结尾增加数据 如果是序列,整个序列[]放进列表结尾
  • extend() 列表结尾增加数据
    如果是序列,将序列数据逐一加到结尾 insert() 指定位置增加数据
    列表序列.append(数据)
    列表序列.insert(位置下标,数据)
name_list.extend('xiaoming')
print(name_list)
['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
name_list.extend(['xiaoming'])
print(name_list)
['Tom', 'Lily', 'Rose', 'xiaoming']
  • del 目标 删除列表、指定下标数据
  • pop() 删除指定下标的数据,默认最后一个数据。返回的都是被删除的数据
  • remove() 删除指定的一个数据(第一个匹配项)
  • clear() 清空列表

修改列表

  • reverse() 逆置
  • sort() 升序(默认)或降序
    列表序列.sort(reverse=False) #升序
    列表序列.sort(reverse=True) #降序
  • copy() 复制列表

列表的循环遍历
while 遍历

name_list = ['Tom','Lily','Rose']
i = 0
while i < len(name_list):
 print(name_list[i])
 i = i + 1
for 遍历
for i in name_list:
  print(i)
列表嵌套
name_list = [['小红','小明','小绿'],['Tom','Lily','Rose'],['张三','李四','王五']]
print(name_list[2][1])#拿到李四
八名老师随机分配给三个办公室
import random
teachers = ['a','b','c','d','e','f','g','h']
offices = [[],[],[]]
for name in teachers:
    num = random.randint(0,2)
    offices[num].append(name)
print(offices)

元组

一个元组可以存储多个数据,元组内的数据不能修改

t = (10,20,30)
print(type(t))#tuple
t1 = (10,)#如果定义元组只有一个数据,这个数据后最好也添加逗号,否则数据类型为唯一这个数据的数据类型
  • index() 查找
  • count() 统计某数据在当前元组出现的次数
  • len() 统计元组数据个数
#如果元组里有列表,可修改列表里的数据
t2 = ('aa','bb',['cc','dd'])
t2[2][0] = 'Tom'
print(t2)   #('aa', 'bb', ['Tom', 'dd'])

字典

创建

dict1 = {
     'name':'Tom','age':20,'gender':'男'}
dict2 = {
     }  #空字典
dict3 = dict()

操作

  • 字典序列[key] = 值 (key 存在就修改 key 对应值,不存在就增加键值对)

增加

dict1['name'] = 'Rose'
dict1['id'] = 110

删除

del(dict1) #删完字典找不到
del dict1['gender']
dict1.clear() #变成空字典

修改 与增加差不多
查找
print(dict1['name']) #Tom 不存在则报错
字典序列.get(key,默认值) #如果当前查找的 key 不存在则返回第二个参数(默认值),如果省略第二个参数,则返回 None

 print(dict1.get('name'))   #Tom
  print(dict1.get('id',110)) #110
  print(dict1.get('id'))     #None
  print(dict1.keys())        #查找字典中所有的 key,返回可迭代对象(可用 for 循环遍历)
  print(dict1.values())      #查找字典中所有的值,返回可迭代对象
  print(dict1.items())       #查找字典中所有的键值对,返回可迭代对象。

里面数据为元组,元组数据一是 key 元组数据二是 key 对应值

遍历键值对

 dict1 = {
     'name':'Tom','age':20,'gender':'男'}
 for key,value in dict1.items():
      print(f'{key}={value}')

集合

创建集合用{},set(),创建空集合只能用 set() 因为{}用来创建空字典
无序性(输出顺序无序) 唯一性(不显示重复数据)

增加

  • add()

  • update() 增加的数据是序列[]

删除

  • remove() 删除集合中指定数据,不存在则报错
  • discard() 删除集合中指定数据,不存在不报错
  • pop() 随机删除某个数据,并返回这个数据

查找
in/not in

 s1 = {
     10,20,30}
 print(10 in s1)  #True

公共操作

运算符 + 合并 字符串、列表、元组
* 复制 字符串、列表、元组

 str1 = 'a'
 print(str1*5)  #aaaa
  • range(start,end,step) 生成 start 到 end 的数字(不包含 end),步长为 step 供 for循环用。
  • enumerate(可遍历对象,start=0) 将可遍历数据对象组合为一个索引序列,返回元组,列出数据和数据下标。
 for i in range(1,10,1):
   print(i) #1 2 3 4 5 6 7 8 9
 for i in range(10) #默认起点 0 步长 1
   print(i) #0 1 2 3 4 5 6 7 8 9
 list1 = ['a','b','c','d','e']
 for i in enumerate(list1):
   print(i) #(0, 'a')  (1, 'b')  (2, 'c')  (3, 'd')  (4, 'e')
 for index,char in enumerate(list1,start=1):
   print(f'下标是{index},对应字符是{char}')
  • 容器类型转换
    tuple()
    list()
    set()

推导式 (列表 字典 集合)

  list1=[]
  for i in range(10)
      list1.append(i)
  print(list1)

列表推导式

 list1 = [i for i in range(10)]
 print(list1)

带 if 列表推导式

 list1 = [i for i in range(10) if i%2 ==0]
 print(list1)

多个 for循环实现列表推导式

 list1 = [(i,j) for i in range(1,3) for j in range(3)]
 print(list1)   #[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)] 在列表中追加元组

字典推导式
快速合并列表为字典

dict1 = {
     i:i**2 for i in range(1,5)}
 print(dict1)   # {1: 1, 2: 4, 3: 9, 4: 16}
 list1 = ['name','age','gender']
 list2 = ['Tom','18','man']
 dict1 = {
     list1[i]:list2[i] for i in range(len(list1))}
 print(dict1)    # {'name': 'Tom', 'age': '18', 'gender': 'man'}

提取字典目标数据

 counts = {
     'MBP':268,'HP':125,'DELL':201,'Lenovo':199,'acer':99}
 count1 = {
     key:value for key,value in counts.items() if value>=200}
 print(count1)    # {'MBP': 268, 'DELL': 201}

集合推导式

 list1 = [1,1,2]
 set1 = {
     i**2 for i in list1}
 print(set1)   # {1, 4}

‘’’

你可能感兴趣的:(python)