PYTHON基础

PYTHON基础

数据的基本类型

  • str=‘ ’其他数据类型–>字符串
    • 转换成字符:使用str函数:也可以使用引号’’or’’’
  • float 0.0(浮点型)
    • 转换成浮点数:文字类字符串无法转换成浮点数
    • 将其他数据类型–>浮点数
  • 转换成整数:int函数
  • 格式符+类型码:
    • %s字符串显示;%1f浮点数显示;%d整数显示
    • %f的意思是格式化字符串为浮点型,%.1f的意思是格式化字符串为浮点型,并保留1位小数
    • 我们看到格式符%后面有一个字母s,这是一个类型码,用来控制数据显示的类型。%s就表示先占一个字符串类型的位置
  • long 51924361L(长整型[也可以代表八进制和十六进制])
    • 长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆。Python使用"L"来显示长整型。
  • 虚数 a+bj complex
    • j**=-1 b*b
    • complex 3.14j(复数):复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

数据拼接

  • print(’1’+str(int(float(3.8))+’number’;不同数据类型的数据不能直接拼接;使用%字符
  • 字符串的拼接:使用+进行字符串的拼接
  • 空白:任何非打印字符,如空白、制表符和换行符。
  • 制表符:\t,在字符串前加空格
  • 换行符:\n,让字符串换行
  • \n\t:先换行再空格

输出大小写

  • name.upper()全部大写
  • name.lower()全部小写
  • name.title()首字母大写

取整

  • 向上取整:math.cell()
  • 向下取整:math.floor 整除"//"
  • 四舍五除:round()–奇数远离0取整,偶数去尾取整;或奇数进位,偶数去尾。
  • 向0取整:int()

去空白

  • strip():除去字符串两端的空白。
  • lstrip():除去字符串开头的空白。左去除left strip
  • rstrip(): 除去字符串末尾的空白。右去除right strip

type(object)

  • type(object)
  • isinstance(object,对象类型)

运算符

  • 比较运算符
    • 判断value
    • == 等于 != 不等于 >= <= > <
  • 赋值运算符
    • py的优先运算等级和外界一致:
      一元运算:加+;减-;
      算术运算:乘*;除/;%;
      取模-返回除法的余数%;幂-返回x的y次幂**;取整除-返回商的整数部分//;/=;-=;+=;*=;**=;//=;

身份运算符

  • 针对于id,地址类似于全等:is is not

成员运算符

  • in in not

逻辑运算符

  • not>and>or

多个条件

  • 判断语句1 and 判断语句2
  • 判断语句1 or 判断语句2
  • not 判断语句1

copy

  • 浅层 copy.copy
  • 深层 copy.deepcopy

格式

  • %a星期几的简写
    %A 星期几的全称
    %b月分的简写
    %B月份的全称
    %c 标准的日期的时间串
    %C年份的后两位数字
    %d十进制表示的每月的第几天
    %D月/天/年
    %e在两字符域中,十进制表示的每月的第几天
    %F 年-月-日
    %g年份的后两位数字,使用基于周的年
    %G年分,使用基于周的年
    %h简写的月份名
    %H24小时制的小时
    %I12小时制的小时
    %j 十进制表示的每年的第几天
    %m十进制表示的月份
    %M十时制表示的分钟数
    %n新行符
    %p本地的AM或PM的等价显示
    %r12小时的时间
    %R 显示小时和分钟:hh:mm
    %S十进制的秒数
    %t水平制表符
    %T显示时分秒:hh:mm:ss
    %u每周的第几天,星期一为第一天 (值从0到6,星期一为0)
    %U第年的第几周,把星期日做为第一天(值从0到53)
    %V每年的第几周,使用基于周的年
    %w十进制表示的星期几(值从0到6,星期天为0)
    %W每年的第几周,把星期一做为第一天(值从0到53)
    %x标准的日期串
    %X标准的时间串
    %y不带世纪的十进制年份(值从0到99)
    %Y带世纪部分的十制年份
    %z %Z 时区名称,如果不能得到时区名称则返回空字符。

dir

字符串str

  • 字符串合并

    • join
      • print(’ '.join(list))
      • print(’ '.join([str1,str2,str3])
    • 去除字符串中不需要的字符
      • import re
      • print(’ ‘.join(re.split(’\w+’,name)))
    • replace(old, new[, count]) 把字符串中old部分替换成new,替换次数不超过count次
    • 字符串的拼接:使用+进行字符串的拼接;
  • str.split()

    • str.split(str="", num=string.count(str)).
    • str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    • num – 分割次数。默认为 -1, 即分隔所有。
  • 元素重复

    • str*次数
    • list*次数
  • 格式化:{name:}

    • %c、%0、%x、%X、%e、%E、%g、%G、%s、%f、%d
    • 格式化字符
      • number1 = 26
        print(“This number is %03d” % number1)
        This number is 026

      • age1 = 888
        print(“This number is %03d” % age1)
        This number is 888

      • number2 = 26
        print(“This number is %06d” % number2)
        This number is 000026

      • age2 = 888888
        print(“This number is %06d” % age2)
        This number is 888888

  • 格式化字符"%.2f"

    • weight = 64.5
      print(“His weight is %.2f kg.” % weight)
      print(“His weight is %.3f kg.” % weight)
      His weight is 64.50 kg.
      His weight is 64.500 kg.
  • 格式化字符“%s”

    • age = 26
      weight = 64.5
      id = 2
      print(“His age is %s, weight is %.2f kg, id is %d.” % (age, weight, id))
      print(“His age is %s, weight is %s kg, id is %s.” % (age, weight, id))
    • His age is 26, weight is 64.50 kg, id is 2.
      His age is 26, weight is 64.5 kg, id is 2.
  • format()

    • print(’:{digit:d},:{:b},:{😮},:{:x},:{:f},:{:e},:{:%}’.format(digit=15))
      • print(‘数字:{digit:d},二进制:{digit:b},十六进制:{digit:x}’.format(digit=15))
        数字:15,二进制:1111,十六进制:f
    • 类型符
      • a,b,F,%:前面加:或者!
    • 让数值左中右对齐<^>:{name:~>int.intdata}.format(name=……)
      • ‘{:15}{:>10.2f}’
  • 字符串大小写

    • capitalize():把字符串开头第一个字符改成大写
    • casefold():把整个字符串都改成小写
  • count(sub[, start[, end]])

    • 返回指定字符sub出现的次数,在指定范围 内
  • 字符串反转

    • from functools import reduce
      print(reduce(lambda x,y:y+x,name))
    • print(name[::-1]
  • 字符串内唯一的元素set:

    • print(’ ',join(set(name)))
    • 对列表进行筛选
      list1=[2,4,5,6,7,1,2]
      print(list(set(list)))
  • ASCII

    • ASCII 是一种字符集,包括大小写的英文字母、数字、控制字符等,它用一个字节表示,范围是 0-127
    • chr()方法:将十进制数转化为基础字符
    • ord():将字符转化为十进制数
  • 回文字符串

    • abccba
      • def fun(name):
        if name==name[::-1]:
        print(‘yes’)
        else:
        print(‘no’)
  • find(sub[, start[, end]])

    • 查找字符串中是否有某个指定字符,有则 返回索引值,没有就返回-1,在指定范围 内
  • index(sub[, start[, end]])

    • 不过如果指定字符不存在则会抛出一个错误
  • insert(index,object)

    • 将元素添加到列表的第a个位置,原来的元素依次后移
    • list.insert(len(list),object)
      insert(a, )
      list.insert(len(list),list.pop(0))
  • startswith() 函数 判断字符串开头

    • 作用:判断字符串是否以指定字符或子字符串开头

    • 语法:string.startswith(str, beg=0,end=len(string))
      或string[beg:end].startswith(str)

      参数说明:
      string: 被检测的字符串
      str: 指定的字符或者子字符串。(可以使用元组,会逐一匹配)
      beg: 设置字符串检测的起始位置(可选)
      end: 设置字符串检测的结束位置(可选)
      如果存在参数 beg 和 end,则在指定范围内检查,否则在整个字符串中检查

      返回值
      如果检测到字符串,则返回True,否则返回False。默认空字符为True

      函数解析:如果字符串string是以str开始,则返回True,否则返回False

s = ‘hello good boy doiido’
print s.startswith(‘h’)
True
print s.startswith(‘hel’)
True
print s.startswith(‘h’,4)
False
print s.startswith(‘go’,6,8)
True
#匹配空字符集
print s.startswith(’’)
True
#匹配元组
print s.startswith((‘t’,‘b’,‘h’))
True

  • os.path.commonprefix(list)
    • 输入多个路径,返回最大的路径前缀。
    • 可是实际上该函数与路径无关,仅仅是个字符串比较。
  • 判断纯字母
    • str.isalpha()
  • ii. Val(C, V, Site)
    • 功能为:将字符串C转换成与V相同的数值类型,并把转换后的结果赋值给V,如果字符串中有非数字,则V=0。Site用于返回非数字字符的位置。
  • i. val(字符表达式)
    • val()函数的功能为:将一组字符型数据的数字部分转换成相应的数值型数据
  • eval(str)
    • 将字符串str当成有效的表达式来求值并返回计算结果。所以,结合math当成一个计算器很好用。
    • 将字符串转成相应的对象(如list、tuple、dict和string之间的转换)
class Coordinate(object):
    def __init__(self,x,y):
        self.x = x
        self.y = y

    def getX(self):
        # Getter method for a Coordinate object's x coordinate.
        # Getter methods are better practice than just accessing an attribute directly
        return self.x

    def getY(self):
        # Getter method for a Coordinate object's y coordinate
        return self.y

    def __str__(self):
        return '<' + str(self.getX()) + ',' + str(self.getY()) + '>'

    def __eq__(self, other):
        # First make sure `other` is of the same type 
        assert type(other) == type(self)
        # Since `other` is the same type, test if coordinates are equal
        return self.getX() == other.getX() and self.getY() == other.getY()

    def __repr__(self):
        return 'Coordinate(' + str(self.getX()) + ',' + str(self.getY()) + ')'

字典dict

形式

  • print(list[0][1]):取出元素

进阶操作

  • 1.提取dict 所有的key:dict.keys()
  • 2.提取dict所有的value:dict.value()
  • 3.提取dict所有的key-value:dict.items()
  • 4.注:dict代表字典名,提取后的数据形式是元组,可用list()转换成列表
  • 5.from collections import defaultdict :如果key不存在,自动生成一个对象作为key的value
  • 6.有序dict:form collections import orderedDict
  • 7.字典生序排序:pa list=list(pa.items(1) pa list.sort
  • update:用自身集合与其他集合更新;
    变量名(list.dict…)update(其他集合)print(自身集合)

数据修改

  • 用赋值语句list[key]=value

数据增加

  • 用赋值语句新增key-value
    dict[key]=value
    d=dict.fromkeys(range(number),value)
    d=dict.fromkeys(key,value)
    append.dict[key]=value
    print(dict)
    print([key])
    dict1.update(dict2)
    dict.get(key,返回值)
    dict.keys()
    dict.values()
    dict.items()
    setdefault有则查看,无则增加

数据删除

  • 用del;pop(key,返回值);
    pop(key);
    dict.popitem():随机删除一对空字典;
    clear(清空一个dict)

get

  • 获取指定的key对应的value,如果key不存放回 none

循环

目标

  • 可重复、自动的执行代码

循环实现方式

  • 序列结构得类型
    • dict
      • 遍历dict_key:for…in dict:;
        遍历dict_value:for…in values();
        遍历dict的key-value:for…in dict.items():
    • range()
      • range(a,b,c) 函数:[取头不取尾]的整数序列
      • 把一段代码固定重复n次时
        就可以直接使用for i in range(n)
        返回一个可迭代对象

for循环语句

  • 空房间的学名叫【元素】(item),你可以把它当成是一个变量
  • 遍历

while循环语句

  • while 循环条件:
  • 条件类型:可参考布尔值部分
    • 1.值本身作为条件
      2.比较运算符
      3.成员运算符
      4.逻辑运算符
  • 与for循环的区别
    • 1.for循环擅长处理固定次数,自动遍历各序列
    • 2.while处理不定次数循环,条件为false便stop

循环的进阶

  • break语句
    • 一般写作if…:break 如果条件满足,则循环结束
  • countinue语句
    • 一般写作if…:countinue 无论是否进入循环,最后都会执行else语句,除非执行了break语句跳出循环。
  • else语句
  • pass:跳过
    • 条件满足,执行一个print语句
  • 计划任务
  • 完成任务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值