python学习之路1(基本语法元素)
1.变量与简单数据类型
1.1变量
变量就是给你所写代码的信息起一个名字,用来存储此信息,使信息变得更加的简洁易读,
例如:message = "Hello World!",其中message就是一个变量;
1.1.1变量的命名规则与使用
1.变量名只能包含字母、数字、下划线,变量名可以以字母或下划线开头,但不能以数字开头
2.变量名不能包含空格,可以用下划线代替空格
3.不能和python关键字或函数名重名
4.变量名最好简洁,描述性好
5.谨慎使用小写i和大写O
6.尽量避免使用大写字母(看个人爱好)
7.使用变量时注意不要用错变量名
python关键字:False,None,True,and,as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
1.2字符串
字符串就是一系列的字符,在python中,带有单引号或者双引号的字符都是字符串,例如"Hello!",'world!',
两类四种表示方法:
--由一对单引号/双引号表示,表示单行字符串
--由一对三单/双引号表示,表示多行字符串(可当注释用)
--最外层引号为字符串引号,内部出现其他引号可当文本输出
--最外层为三个单引号作为字符串引号,内部可出现单,双引号
1.2.1操作字符串
1.字符串的序号
--正向递增,反向递减,索引和切片
2.高级切片
[M:N:K]根据步长对字符串进行切片
--<字符串>[M:N];M缺失表示至开头,N缺失表示至结尾
-例:”0123456789”[:3] 输出结果”0.12”
--<字符串>[M:N:K]
-例:”0123456789”[1:8:2] 输出为”1357”
--逆序:”0123456789”[::-1] 输出为”9876543210” #步长为-1指从后往前取数值
3.转义符\:\后面的字符将当作字符本意来理解
--例:”这里有个双引号(\”)” 输出为:这里有个双引号(“)
--“\b”光标回退
--“\n”换行
--“\r”回车(光标移动到本行首)
4.字符串操作
--x+y表示连接两个字符xy变为新的字符
--n*x或x*n表示复制n次字符串x
--x in s 如果x是s的子串则返回True,否则False
5.字符串处理函数
--len(x)返回字符串x的长度,例:len(‘一二三456’) 结果为6
--str(x)把任意类型的x转变为字符串形式, 例:str([1,2]) 结果为 ‘[1,2]’
--hex(x)和oct(x)把整数x变为十六进制或八进制小写形式字符串
--chr(u)和ord(x),把Unicode编码转换为单字符,把单字符转换为Unicode编码
--Unicode编码:统一字符编码,从0到1114111(0x10FFFF),每个编码对应一个字符
6.字符串处理方法
--str.lower()或str.upper();返回字符串,全部字符小/大写;例:’sadASX’.lower();结果为sadasx
--str.split(sep=None);返回一个列表,由str根据sep分隔组成;例:’A,B,C’.split(‘,’);结果为[‘A’,’B’,’C’]
--str.count(sub);返回字符串sub在str中出现的次数;例:’a apple a day’.count(‘a’)结果为4
--str.replace(old,new);返回str,所有old字串被new代替;例:’python’.replace(‘n’,’n123.io’)结果为’python123.io’
--str.center(width[,fillchar]);根据width居中,fillchar可选;例:’python’.center(20,’=’)结果为=====python=====
--str.strip(chars)从str中去掉在其左和右chars中列出的字符;例:’=_python_=’.strip(‘_=p’);结果为’ytho’
--str.join(iter)在iter变量除最后一个元素外,每个元素后增加一个str;例:’,’.join(‘123456’)结果为’1,2,3,4,5,6’ 主要用于字符串分隔等
7.字符串类型的格式化
(1)“{}:计算机{}的CPU占用率为{}%”.format(“2018-10-10”,”C”,”10”) #槽的顺序和format()函数中参数的顺序默认情况下一一对应,都是从0开始
--把format()方法中的参数按对应顺序填充到模板字符串的槽中,可以在槽中指定所要填充的format()中第几个参数
(2)槽内部对格式化的配置
--{<参数序号>:<格式控制标记>}
--{:<填充><对齐><宽度>},填充是用于填充的单个字符,对齐包括左对齐<,右对齐>,居中^,宽度是指槽设定的输出宽度
--{:<,><.><类型>},第一个尖括号中的逗号为数字的千位分隔符,第二个尖括号中的点表示浮点数小数精度或字符串最大输出长度,类型包括整数b,c,d,o,x,X,浮点数包括E,e,f,%
例:”{0:=^20}”.format(“P”) 输出为’========P========’
“{:10}”.format(“p”) 输出为’p_________’ #默认情况下填充为空格左对齐
8.拼接字符串
可以用加号来合并字符串
例:name = "ad"
print("hello," + name + "!")
9.删除空白
字符串或者存储字符串的变量后面有如下方法:
.rstrip() # 删除右空白
.lstrip()# 删除左空白
.strip() # 删除左右空白
注意:如果字符串中有类似单引号或双引号的字符,那么尽量用双引号括的字符串
1.3数字类型及其操作
1.3.1类型
1.整数类型与数学中一致,可正可负pow(x,y)表示x的y次方,无限算
2.浮点数类型与数学中一致,浮点数取值范围约-10的308次方至10的308次方,精度为10的-16次方(53位二进制表示小数部分),浮点数间运算存在不确定位数,不是bug,一般发生在10的-16次方左右
3.浮点数可以采用科学记数法表示,采用字母e或E为幂的符号,以10为基数
<a>e<b>表示a*(10^b); 例:4.3e-3 结果为0.0043;9.6E5值为960000.0
4.复数类型(与数学中一致)
x²=-1 定义j=根号下-1 a+bj,a为实部,b为虚部
例:z = 1.23e-4+5.6e+89j
z.real获取实部,z.imag获取虚部
1.3.2相关操作
1.数值运算操作符
x+y x-y x*y
x/y #结果与数学运算一致(浮点数结构)
x//y整数除,取商10//3结果3
x%y模运算,取余10%3结果1;
x**y=pow(x,y)幂运算
xop=y即x=xopy,op为二元操作符
x+=y x-=y x*=y x/=y x//=y x%=y x**=y例:x**=3即x=x**3
各类型间进行混合运算,生成结果为最宽类型(整数<浮点<复数);例:123+4.0=127.0
2.数值运算函数
abs(x)取x的绝对值
divmod(x,y)商余(x//y,x%y);例:divmod(10,3)结果为(3,1)
pow(x,y[,z])幂余(x**y)%z,[]内可省略
round(x,d)四舍五入,d为保留小数的位数,默认为0,一般用于浮点数间运算和比较进行辅助
max(x1,x2,…xn);min(x1,x2…xn)比较几个数的大小,n不限
int(x)将x变为整数;float(x)将x变为浮点数,增加小数部分;complex(x)将x变为复数,增加虚部
2.基本语法元素
2.1例子:
# 保存用户输入信息。
TempStr = input(“请输入带有符号的温度值:”)
# [‘F’,’f’]表示两个元素’F’,’f’,判断前者是否与列表中某个元素相同。
If TempStr[-1] in [‘F’,’f’]:
C = (eval(TempStr[0:-1])-32)/1.8
print(“转换后的温度是{:.2f}C”.format(C))
elif TempStr[-1] in [‘C’,’c’]:
F = 1.8*eval(TempStr[0:-1])+32
print(“转换后的温度是{:.2f}F”.format(F))
else:
print(“格式错误”)
2.1.1缩进
代表程序格式框架,必须保持缩进一致,一般4个空格或一个Tab;
2.1.2注释
单行注释用#加内容,多行注释用’’’ 内容 ‘’’
2.1.3语句与函数:
1.分支语句:if elif else: 函数:input eval print python中的函数类似于数学中y=f(x)
2.input()从控制台获得用户输入的函数,使用格式:<变量> = input(<提示信息字符串>),用户输入的信息以字符串类型保存在变量中
3.print()以字符形式向控制台输出结果
print()函数的格式化:
print(“转换后的温度是{:.2f}C”.format(C)),{}表示槽,后续变量保存到槽中,{:.2f}表示将C变量填充到这个位置时取小数点后两位,如C值为123.456789,输出为 转换后的温度为123.45C
4.评估函数eval():去掉参数最外层引号并执行余下语句,使用格式:eval(<字符串或字符串变量>)
例:eval(“1”)输出为1;eval(“1+2”)输出为3;eval(‘“1+2”’)输出为”1+2”;eval(‘print(“Hello”)’)输出为Hello;eval(TempStr[0:-1]),如果TempStr[0:-1]值为”12.3”,则输出为12.3
python学习之路1(基本语法元素)的更多相关文章
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- python学习之路------你想要的都在这里了
python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- python 学习之路开始了
python 学习之路开始了.....记录点点滴滴....
- python学习之路,2018.8.9
python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!
- Python学习之路——pycharm的第一个项目
Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...
随机推荐
- hystrix应用介绍(四)
前几章已经讲了hystrix的应用场景,以及如何使用,本章我们针对如何进行hystrix参数配置做一些分析 //异步的执行 @HystrixCommand(groupKey = "testK ...
- [Cuckoo SandBox]注入原理篇
1.LoadExe 接python版本 通过调用LoadExe去加载Dll进行注入 所以先看LoadExe 加载器的功能吧 通过python管道接收到 processID,ThreadID,路径 , ...
- vue组件双向绑定.sync修饰符的一个坑
我们知道组件是单项的,但是有时候需要双向,这时候我们可以使用.sync修饰符,但今天遇到一个坑,一直不成功,花了半小时试出来的.... 在编程的时候我们很习惯冒号后面跟着空格.而.sync双向绑定需要 ...
- iOS - 通过view查找所在(viewController)
- (UIViewController *)findViewController:(UIView *)sourceView { id target=sourceView; while (target) ...
- 【起航计划 010】2015 起航计划 Android APIDemo的魔鬼步伐 09 App->Activity->Redirection 根据shared preferences是否有值决定是否redirect
Redirection示例涉及到三个Acitivity: RedirectEnter, RedirectMain,RedirectGetter. 示例的主Activity为 RedirectEnter ...
- 使用COCOStudio中各种资源
UI Editor: 先把项目导出的json和资源文件放到TestGame项目的Resource目录中 1. 在HelloWorldScene.cpp顶部添加引用#include "coco ...
- 类型信息(RTTI和反射)——RTTI
运行时类型信息可以让你在程序运行时发现和使用类型信息. 在Java中运行时识别对象和类的信息有两种方式:传统的RTTI,以及反射.下面就先来说下RTTI. 1.RTTI: RTTI:在运行时,识别一个 ...
- April 25 2017 Week 17 Tuesday
Have you ever known the theory of chocie? There are a bunch of axiems, but there are only two thing ...
- HTML入门1—HTML基础学习
html文档结构 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- 使用node.js + socket.io + redis实现基本的聊天室场景
在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用nodejs来实现该机制. 本文是对 ...