学过C都能学会的python之入入入门

python基本语法

编码

  • 默认情况下,python3源文件以UTF-8编码,所有字符串都是unicode字符串,同时可以指定源文件的不同编码
# -*- coding:UTF-8 -*-
# coding=utf-8

变量(标识符)命名

  • 第一个字符必须是字母表中的字母或下划线-(不能以数字开头)
  • 标识符中的其他部分由字母、数字和下划线组成
  • 标识符对大小写敏感

行和缩进

学习python与其他语言最大的区别就是,python的代码块不用大括号{}控制类,函数以及其他逻辑判断,而是用最具特色的缩进来写模块,也可以用分号

if Ture:
	print "True"
else:
	print "False"

多行语句

python语句中一般以新行作为语句的结束符。但是可以用\将一行的语句分为多行显示

total=item_one + \
		item_two + \
		item_three#将单行语句写为多行

输入输出

输入 raw_input(接收的内容转化为字符串) or input(原始数据类型)
输出 print (2.x版本不用加括号,3.x版本print作为函数身份存在必须加括号)

字符串格式化

如果学过c语言,都知道scanf("%d%d%d",&a,&b,&c);这种用法,那在python里也有类似%d这种格式化存在
现在有如下代码:

#!/usr/bin/python
#上面一句话就是指python解析器的路径
print "My name is %s and weight is %d kg!" % ('Zara',21)//
符号描述
%c格式化字符串及其ascii码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制
%x格式化无符号十六进制
%f格式化浮点数,可指定小数后精度
%e/%E科学计数法格式化浮点数
%g%f + %e
%p十六进制格式化变量地址

数据结构与运算符

python主力数据结构是列表字典。列表按顺序存储数据,字典就像小型数据库,使用键高效地存储和检索数据

列表

  • 一个列表要用中括号[ ]把数据框起来
    list = ['小米',12,4000.0]
    从列表中获取单个元素:list[0],list[1],list[3]。类比索引数组
  • 从列表中获取多个元素:list[:]从头取到尾,list[2:]从第3个元素取到末尾,list[2:4]取3,4位,list[:2]取1,2位,注意向左取为开区间,向右取为闭区间。这种操作叫做切片

增加、删除元素

  • append()函数增加元素。如:list.append();
    student.append('美羊羊'),注意每次只能增加一个元素
  • del语句删除元素。如:del student[1]可以一次删除多个元素,和切片相似,左开右闭

字典

  • 字典是一种可变容器模型,可存储任意类型对象
  • 字典的键值(key=>value)用:分割,每个队之间用逗号分割
    dict={key1:value1,key2:value2}
  • 字典的键必须唯一,键不可变

类比关联数组

增加、删除元素

  • 赋值语句增加元素。如字典名[键] = 值
  • del语句删除元素。del 字典名[键]

元组

  • 元组是一种不可变序列,即创建后不能再做修改
tuple = (元素1,元素2,···) #定义元组
tuple = () #定义空元组
  • 元组也是切片的形式访问

集合

集合是无序可变序列,使用一对大括号{}作为界定符,元素之间使用逗号分隔,同一个集合内每个元素都是唯一的。

  • set函数创建集合。s1 = set("abcde")
  • add或update添加集合元素。s1.add(x),s1.update(x)
  • 删除元素:
    s.remove(x) -将元素x从集合s中移除,元素不存在会发生错误
    s.discard(x) -移除元素,不会报错
    s.pop() -学过数据结构,这个函数是出栈,在这里是随机删除集合中的元素

运算

“+”,"-","*","/"等就不多说了
"%“取模,”**“求幂,”//"取整
<>检查是否相等,就等于!=
python允许同时为多个变量赋值

条件控制与循环

条件控制

if else,只是python的if条件不加括号,因为使用缩进的原因,if也不用用花括号{}来包括要执行的语句

  • python的多向判断使用elif
if xxx:
	print(xxx)
elif xxx:
	print(xxx)
else:
	print(xxx)

循环

for循环:

for i in [1,2,3,4,5]:#用列表的形式做区间
	print(i)
  • range()函数计数,默认从0开始,range(start,stop[,step])可以不含条数,range也可包含列表等数据类型,左闭右开
  • continue,break,while与其他语句作用一致

python进阶

函数

函数定义

def <函数名> (<参数列表>):
	xxx
	return x

声明类,声明对象和C++类似

文件操作

和php没什么区别

  1. open()打开文件,返回一个file文件
    语法:fileobj = open(filename[,mode[,buffering]])
    fileobj.flush()强制把buffer中的缓存写入文件
  2. 使用file对象的读/写方法对文件进行读/写操作。
    方法说明
    read()读取指定字节或者读取完成
    readline()读取一行
    readlines()读取多行,返回每行组成列表
    write(str)写入字符串,返回写入字节数
    writelines(sequence)写入多行
  3. 使用file对象的close方法关闭文件。关闭文件是取消程序和文件中连接的过程,把缓冲区的所有内容将写入磁盘
    ①with语句自动关闭文件。
with open(1.txt) as hello:
	s=hello.read()
	print(s)#with语句可以打开文件并赋值给对象。文件在语句结束后自动关闭

正则表达式

python通过re模块提供对正则表达式的支持

使用re的步骤:

  • 1.先将正则表达式的字符串形式编译为pattern实例
  • 2.用pattern实例处理文本获得匹配结果(一个match实例)
  • 3.使用match实例获得信息

match方法

从字符串的起始位置匹配一个模式,如果不是从起始位置匹配成功,match返回none

  • 使用方法:re.match(pattern,string[,flags=0])
参数描述
pattern匹配的正则表达式
string要匹配的字符串
flags标志位,用于控制正则表达式的匹配方式
import re
m = re.match(r'hello','hello world!')
print (m.group())

search方法

re.search扫描整个字符串并返回第一个成功的匹配

  • 语法格式:re.search(pattern[,flags])

compile函数

compile函数用于编译正则表达式,供match(),search(),findall()等函数使用

  • 语法格式:re.compile(pattern[,flags])
pattern = re.compile('hello')#实例化正则
pattern.match('helloworld')

批量匹配compile更实用

findall函数

匹配所有符合正则表达式的部分,返回一个数组(列表)

  • re.findall(pattern,string)
    由于是返回列表,所以findall在下面要讲的爬虫里面非常实用

正则表达式的模式与php的preg_match的规则相当

python模块

每个以.py结尾的python文件都是一个模块。在模块中定义的全局变量、函数、类都可以导入使用

  • 模块导入:①import module
    from module import *
  • 调用:module.func()
  • 安装模块:pip install module

模块名不能和内置模块重名,模块内有同名函数会进行覆盖

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值