Python 学习笔记

Python简介

  • 面向对象,面向函数的解释型语言

优点

  • 简单易学,让你专注于解决问题
  • 可移植性,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)
  • 解释性。不同于c和c++这种编译语言,他不需要编译成0和1这种二进制代码。可以直接从源程序直接运行。
  • 可扩展性,如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
  • 丰富的库!Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
  • 规范的代码,Python采用强制缩进的方式使得代码具有极佳的可读性。

应用场景

  • Web开发,Django框架
  • 操作系统管理、服务器运维的自动化脚本。在很多操作系统里,Python是标准的系统组件。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
  • 科学计算机器学习,NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。
  • 服务器软件(网络软件)——阿里云,Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。

Python下载和安装

安装anaconda pycharm

Python 基础语法

注释

# 单行注释
'''
多行注释
'''

变量及类型

在这里插入图片描述

注意:

  • method和function的区别:在对象内部的叫method对象外边的叫function
  • Python中区分大小写
#这叫函数
def fun():
    print("fun")

#这个叫方法
class Person:
    def eat(sel):
        print("person.run")

fun()

Person.eat()

变量定义和使用

if __name__ == '__main__':
    a = 10
    b="adf"
    print(b)
    print(type(b))
  • 布尔值:True False
    可以使用and or not运算
  • 空值:None
  • 查看变量类型:type(变量名)

常见类型转换函数

函数 说明
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串

输入和格式化输出

输入

input()

输入的是str

如果需要int型的就需要转换

format格式化输出

格式化输入一半format函数用的比较多

if __name__ == '__main__':
    s1 = "{}{}".format("aaa", "bbb")
    s2 = "{0}{1}".format("bbb", "aaa")
    s3 = "{1}{0}{1}".format("aaa", "bbb")
    s4 = "网站地址:{url} 网站名称:{name}".format(url="www.kjzg.top", name="泽国科技")
    # 通过字典设置参数
    site = {
   "name": "泽国科技", "url": "www.kjzg.top"}
    s5 = "网站地址:{url} 网站名称:{name}".format(**site)

    # 通过列表索引来设置参数
    my_list = ['泽国科技', "www.kjzg.top"]
    s6 = "网站名:{0[0]}, 地址 {0[1]}".format(my_list)


    # 通过对象来传递
    class value(object):
        def __init__(self, value):
            self.value = value


    v = value(6)
    print("value={0.value}".format(v))

数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:>10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)

运算符

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ x除以y b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余(取模) 返回除法的余数 b % a 输出结果 0
** 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000

逻辑运算符

and or not

比较运算符

逻辑判断和循环

  • 逻辑判断:if elif else
  • while循环:while 条件:
  • for循环: for 临时变量 in 列表或者字符串等:
  • break和continue

字符串

  1. 下标索引
if __name__ == '__main__':
    s="abc"
    print(s[1])
  1. 切片(分片)

切片的语法

  • [起始:结束:步长]
  • 选取时左闭右开
  • 步长可以取负数
  • 起始结束不放就是整个字符串
    s="abcdefg"
    print(s[1:6:2])

常见字符串操作

方法 简介 例子
find == java Indexof方法 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回 mystr.find(str, start=0, end=len(mystr))
index 跟find()方法一样,只不过如果str不在 mystr中会报一个异常. mystr.index(str, start=0, end=len(mystr))
count 返回 str在start和end之间 在 mystr里面出现的次数 mystr.count(str, start=0, end=len(mystr))
replace 把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次. mystr.replace(str1, str2, mystr.count(str1))
split 以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串 mystr.split(str=" ", 2)
capitalize 把字符串的第一个字符大写 mystr.capitalize()
title 把字符串的每个单词首字母大写
startswith 检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False mystr.startswith(obj)
endswith 检查字符串是否以obj结束,如果是返回True,否则返回 False. mystr.endswith(obj)
lower 转换 mystr 中所有大写字符为小写 mystr.lower()
upper 转换 mystr 中的小写字母为大写 mystr.upper()
ljust 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串 mystr.ljust(width)
rjust 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串 mystr.rjust(width)
center 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 mystr.center(width)
lstrip 删除 mystr 左边的空白字符 mystr.lstrip()
rstrip 删除 mystr 字符串末尾的空白字符 mystr.rstrip()
strip —java trim 删除mystr字符串两端的空白字符
rfind 类似于 find()函数,不过是从右边开始查找. mystr.rfind(str, start=0,end=len(mystr) )
rindex 类似于 index(),不过是从右边开始. mystr.rindex( str, start=0,end=len(mystr))
partition 把mystr以str分割成三部分,str前,str和str后 mystr.partition(str)
rpartition 类似于 partition()函数,不过是从右边开始. mystr.rpartition(str)
splitlines 按照换行符分隔,返回一个包含各行作为元素的列表 mystr.splitlines()
isalpha 如果 mystr 所有字符都是字母 则返回 True,否则返回 False mystr.is
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小7爱生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值