Python基础语法

简介

Python(蟒蛇)由Guido 荷兰人于1991年发明。
优点:语法简单易用、免费开源、可移植性、面向对象、解释性、丰富的库、规范的代码。可用于web应用、科学计算、游戏、桌面软件、服务器软件
缺点:运行速度稍慢、中文资料少、市场少、框架多

注释

#单行注释

'''
多行注释
'''

"""
多行注释
"""
设置文件编码

有时使用文本编辑器编写的python文件在显示中文出现乱码,这是因为文本编辑器使用的编码格式不是utf-8,因此我们需要设置文件的编码格式

#在python文件的第一行加上如下语句,注意需要写#号
# -*- coding: utf-8 -*-#coding=utf-8

打印

#输出换行
print(1)
print(2)
结果:
1
2

#不换行输出
print(1, end=" ")
print(2, end=' ')
结果:
1 2

#打印变量
a = 'python'
b = 1
print("name %s"%a)  -> name python
import math
print('PI的近似值:%.3f'%math.pi)  ->  PI的近似值:3.142
print('learn %4s with %5d day'%(a,b))
结果:
learn python with 1 day

#格式化字符串
print('{0} 和 {1}'.format('Google', 'Runoob'))  -> Google 和 Runoob
print('{name}今天{tm}'.format(tm='不开心',name='宝宝')) -> 宝宝今天不开心
print('三原色:{0}、{1}、{end}'.format('红','绿',end='蓝'))->三原色:红、绿、蓝

#打印裴波纳契数列
a,b = 0,1
while b < 100:
    print(b, end=' ')
    a,b = b, a+b
结果:
1 1 2 3 5 8 13 21 34 55 89

数据类型

Number类型

包括整数、浮点数、复数

#数学函数
abs(x)           返回数字的绝对值,如abs(-10) 返回 10
ceil(x)          返回数字的上入整数,如math.ceil(4.1) 返回 5
exp(x)           返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)          返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)         返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)           如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)         返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...)  返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)  返回给定参数的最小值,参数可以为序列。
modf(x)          返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)        x**y 运算后的值。
round(x [,n])    返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)          返回数字x的平方根。

#随机数函数
choice(seq)    从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从09中随机挑选一个整数。
randrange([start,] stop [,step])  从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random()       随机生成下一个实数,它在[0,1)范围内。
seed([x])      改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)   将序列的所有元素随机排序
uniform(x, y)  随机生成下一个实数,它在[x,y]范围内。

#三角函数
acos(x)        返回x的反余弦弧度值。
asin(x)        返回x的反正弦弧度值。
atan(x)        返回x的反正切弧度值。
atan2(y, x)    返回给定的 X 及 Y 坐标值的反正切值。
cos(x)         返回x的弧度的余弦值。
hypot(x, y)    返回欧几里德范数 sqrt(x*x + y*y)。
sin(x)         返回的x弧度的正弦值。
tan(x)         返回x弧度的正切值。
degrees(x)     将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x)     将角度转换为弧度
bool类型(True | False)
a = True
if (a):
	print('right')
String类型

单引号或双引号定义单行字符串
三引号’’’ ‘’’ 或 “”" “”"定义多行字符串

s1 = 'hello' 等价于 s1 = "hello"
s2 = '''多行
第二行
'''
print(s2)

#字符串的截取
s1[0:-1]  -> hell  负数表示从末尾开始截取
s1[0:-2]  -> hel
s1[0]     -> h
s1[1:3]   -> el
s1[1:]    -> ello
s1 * 2    -> hellohello
s1 + '6'  -> hello6
字符串内建函数
str = 'hello Python 666'
capitalize()             将字符串的第一个字符转换为大写,str.capitalize() 
center(width, fillchar)  返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格。
ljust(width[, fillchar]) 返回一个原字符串左对齐,并使用fillchar填充至长度width的新字符串,fillchar默认为空格。
zfill(width)             返回长度为 width 的字符串,原字符串右对齐,前面填充0
count(str, beg= 0,end=8) 返回str在string里面出现的次数,beg或者end指定则返回指定范围内str出现的次数
endswith(suffix, beg=0, end=len(string))  检查字符串是否以 obj 结束
startswith(prefix, beg=0, end=len(string))检查字符串是否以 obj 开头
find(words, beg=0, end=len(string))  检测words是否包含在字符串中
rfind(words, beg=0,end=len(string))  检测words是否包含在字符串中,从右边开始查找
index(words, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常.
isalnum()                所有的字符是否为文字(非符号)
isalpha()                所有的字符是否为字母
isdigit() | isnumernic() 所有的字符是否为整数(不包括小数点)
isdecimal()              检查字符串是否只包含十进制字符
islower()                字符串中的所有字母是否全部是小写
isupper()                字符串中的所有字母是否全部是小写
isspace()                如果字符串中只包含空白,则返回 True,否则返回 False.
len(string)              返回字符串的长度
lower()                  所有字符转换为小写
upper()                  所有字符转换为大写
swapcase()               将字符串中大写转换为小写,小写转换为大写
title()                  返回"标题化"的字符串,所有单词都是以大写开始,其余字母均为小写
max(str)                 返回字符串 str 中最大的字母。
min(str)                 返回字符串 str 中最小的字母。
replace(old, new [, max])将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
split(substr, string.count(substr))  截取字符串,如果第二个参数有值,则仅截取num+1个子字符串

List类型

写在方括号[ ]之间,用逗号分割的元素列表

list = ['ceo', 43, "cto", 66, 23.7, True]
list2 = [45, 35, 'haha']
#截取同字符串的截取规则一样
list[0]
list[2:4]
list[1:-2]
list * 2
list + list2

#改变列表的元素
a = [1, 2, 3]
a[0] = 4         -> [4, 2, 3]
a[1:3] = [5, 6]  -> [4, 5, 6]
a[1:3] = []      -> [4]  等价于  del a[1:3]

#List常用方法
list.append(obj)    在列表末尾添加新的对象
list.count(obj)     统计某个元素在列表中出现的次数
list.extend(seq)    在列表末尾一次性追加另一个序列中的多个值
list.index(obj)     从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)  将对象插入列表
list.pop(index)     移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)    移除列表中某个值的第一个匹配项
list.reverse()      反向列表中元素
list.sort( key=None, reverse=False)  对原列表进行排序
list.clear()        清空列表
list.copy()         复制列表
len(list)           返回list元素个数  

Tuple元组类型

元组与List类似,不同之处在于Tuple元素不能修改,写在小括号()里,用逗号隔开
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用

tuple = ('tuple', 55, 34.2, True)
tuple2 = '54',54,Flase,'haha' 不用()也可以
#元组截取方式跟String和List相同
tuple[1:3]   ->  (55, 34.2)
del tuple2   删除元组
tuple(list)  将List转换成Tuple
len(tuple)   计算元组元素个数

Set集合类型

Set是有一个或多个形态各异的大小整体组成的,用{}或set()函数创建集合

s = {'one', 2, 3.9, 'last'}
s = set(value)

a = set('adcbaabd')       -> {'a', 'd', 'c', 'b'}
b = {'c', 'b', 'f', 'f'}  -> {'c', 'b', 'f'}
a - b                     -> {'a', 'd'}  差集
a | b                     -> {'a', 'd', 'c', 'b', 'f'} 并集
a & b                     -> {'c', 'b'}  交集
a ^ b                     -> {'a', 'd', 'f'}  a和b中不同时存在的元素
a.add('g')                -> {'a', 'd', 'c', 'b', 'g'}
a.update({'gt',4})        -> {'a', 'd', 'c', 'b', 'g', 'gt', 4}
a.remove('g')     		  -> {'a', 'd', 'c', 'b', 'gt', 4}删除的元素不存在会报错
a.discard('kk')  		  -> {'a', 'd', 'c', 'b', 'gt', 4}删除的元素不存在不会报错
len(a)            		  -> 返回集合a中的元素个数  

Dictionary字典类型

列表是有序的对象集合,字典是无序的对象集合,字典中的元素是通过键来存取的

dic = {}
dic['key1'] = 54
dic[2] = 43.3
dic[3.2] = "value3.2"
print(dic['key1'])  -> 54
print(dic[2])       -> 43.3
print(dic[3.2])     -> 'value3.2'
print(dic)          -> {'key1':54, 2:43.3, 3.2:'value3.2'}
print(dic.keys())   -> ['key1', 2, 3.2]
print(dic.values())-> [54, 43.3, 'value3.2']
dic.clear()        -> {}
del  dic['key1']   删除字典元素
del  dic           删除字典
len(dic )          返回字典元素个数 

数据类型转换

int(x [,base])         将x转换为一个整数
float(x)               将x转换到一个浮点数
complex(real [,imag])  创建一个复数
str(x)                 将对象 x 转换为字符串
repr(x)                将对象 x 转换为表达式字符串
eval(str)              用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)               将序列 s 转换为一个元组
list(s)                将序列 s 转换为一个列表
set(s)                 转换为可变集合
dict(d)                创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s)           转换为不可变集合
chr(x)                 将一个整数转换为一个字符
ord(x)                 将一个字符转换为它的整数值
hex(x)                 将一个整数转换为一个十六进制字符串
oct(x)                 将一个整数转换为一个八进制字符串

使用**type(var)**方法查看变量类型,如

a = 15     
type(a)    int
b = True
type(b)    bool
运算符

算数运算符: + - * / % **(幂) //(向下取整除)
比较运算符:== != > < >= <=
赋值运算符:= += -= 8= /= %= **= //=
二进制运算:& | ^ << >> ~ (取反)
逻辑运算符:and or not
成员运算符:in not in 用于字符串、列表、元组
身份运算符:is not is 用于比较2个对象的存储单元,id(a)函数用来获取对象a的内存地址

条件控制及循环

if语句
if condition1:
    do1
elif condition2:
    do2
elif condition3:
    #嵌套
    if condition4:
        do1
    elif condition5:
        do2
    else:
        doElse
else:
    doElse
while循环
count = 0
while count < 5:
	count += 1
	if count ==3:
		break
	print(count, end=' ')
结果:
a b d e
for循环
list = ['a', 'b', 'c', 'd', 'e']
for word in list:
    if word == 'c':
        continue
    print(word, end=' ')
结果: a b d e

#range函数生成数列
for i in range(5):
    print(i, end=' ')
结果:0 1 2 3 4

#range指定区间
for i in range(5, 9):
    print(i, end=' ')
结果:5 6 7 8

#range指定区间和步长
for i in range(5, 14, 2):
    print(i, end=' ')
结果:5 7 9 11 13

it = iter(list)
for x in it:
    print(x, end=" ")
 结果: a b c d e   
 
 while True:
     try:
         print(next(it), end=' ')
     except Exception:
         break
 结果: a b c d e   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值