python语法,基础
1.用缩进表达代码逻辑:推荐缩进4个空格
2.注释和续行与shell一样
在pycharm中,按ctrl + / 可以快速添加/取消注释
3.多个语句书写在同一行,可以使用分号进行分割。但不推荐
输出语句
主要采用的是print函数
###在python中函数调用需要添加()
>>>print("hello world") #打印一个字符串
hello world
###在print函数的()中,输入的是参数,各个参数之间用逗号,隔开
>>> print("hao",123) #打印字符串和数字
hao 123
###用sep可以指定分割符,分割符号可以随便指定
>>> print("hao", 123, "abc", sep="***")
hao***123***abc
输入语句
- python中,通过input函数获取用户键盘输入
- input函数的参数是字符串,它是屏幕提示语
#####变量赋值,= 两边空格可有可无#####
>>> user = input('username: ') #用户输入内容保存到变量user中
username: zhangsan
>>> user #使用变量
‘zhangsan’
练习:模拟用户登录
1.创建名为login.py的程序文件
2.程序提示用户输入用户名
3.用户输入用户名后,打印欢迎用户
vim login.py
user = input('请输入用户名: ')
print('welcome', user)
print('welcome %s' % user)
########### input读入的数据都是字符串类型,相同类型的数据才能运算#############
>>> num = input("number: ")
number: 10
>>> num + 5 #num是字符串,不能和数字进行运算
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> type(num) # 查看num的类型
<class 'str'>
>>> int(num) + 5 #int函数将字符串转成整数
15
>>> str(5)
' 5 '
>>>num + str(5) #str函数将对象转成字符串
‘105’
>>> num + "5"
'105'
变量
- 字面量就是看到什么是什么,如‘abc’, 100
- 变量是变化的量,看到什么不一定是什么。
- 变量只是为了编写代码方便。 当看到变量时,应该透过变量 看到它代表的值
- 编写代码时尽量多使用变量,而不是直接使用字面量。直接使用字面量是硬编码,代码可重用性差。
- 变量名称约定
- 第一个字符只能是大小写字母或下划线
- 后续字符只能是大小写字母或数字或下划线
区分大小写
推荐采用的全名方法
- 变量名全部采用小写字母,如pythonstring
- 简短、有意义,如pystr
- 多个单词间用下划线分割,如py_str
- 变量名用名词,函数名用谓词(动词+名词),如phone/update_phone
- 类名采用驼峰形式,如MyClass
变量在使用之前。必须先赋值
变量赋值是一个自由向左的运算,将=右边表达式的计算结果,赋值给左边的变量
>>>a = 10 + 5
>>>a
15
变量支持重新赋值
>>>a = 20
>>>a = a + 10 #自右向左计算,赋值变量,将a+10的结果赋值给a
#以上代码可以简写
>>>a += 10
>>>a
>>>20
>>>a *= 2
>>>a
>>>40
注意:python不支持诸如i++/i--之类的操作
>>> a = 40
>>> ++a #正正为正
40
>>> --a #负负为正
40
运算符
算术运算符
#加减乘正常运算
#/是真正的除法
>>> 5 / 3
1.6666666666666667
# // 只保留商
>>> 5 // 3
1
# %是模运算,即求余
>>> 5 % 3
2
# ** 是幂运算
>>> 2 ** 3
8
#通过round函数实现四舍五入
>>> round(5 / 3) #5 / 3,默认保留到整数部分
2
>>> round(5 / 3, 2) #精确到小数点
1.67后2位
#divmod函数。可以同时得到商和余数
>>> divmod(5, 3)
(1, 2)
>>> a, b =divmod(5, 3) 商和余数分别赋值给a和b
>>> a
1
>>> b
2
#######################################################################
比较运算符
#判断是否相等使用 ==
>>> 3 == 3
True #True是关键字,表示真
#判断是否不相等使用 !=
>>> 3 != 3
False #False是关键字,表示假
#python支持连续比较
>>> 10 < 20 < 30
True
>>> 10 < 20 > 15
True
逻辑运算符
#and两边表达式结果全为True,最终才为真True
>>> 10 < 20 and 20 > 15
True
#or两边表达式全为False,最终才为False
>>> 10 < 20 or 20 > 100
True
>>> 100 < 20 or 20 >100
False
#not是单目运算符,将真变假,将假变成真
>>> 20 > 10
True
>>> not 20 > 10
False
数据类型
数字
- 整数: 没有小数点
- 浮点数: 有小数点
- 布尔数:True为1,False为0
>>> True + 1
2
>>> False * 5
0
整数在不同进制下的表示方法
#python默认以10进制表示数字
#8进制以0o或0O开头
>>> 0o11 1 * 8 + 1
9
#16进制默认以0x或0X开头
>>> 0x11 1 * 16 + 1
17
#2进制以0b或0B开头
>>> 0b11
3
#####0x235 转成10进制怎么算?
>>> 2 * 16 * 16 + 3 * 16 + 5
565
2小时3分5秒是多少秒?
>>> 2 * 60 * 60 + 3 * 60 + 5
7385
#0o235转换成10进制
>>> 2 * 8 * 8 + 3 * 8 + 5
157
#10000秒是几小时几分几秒?
>>> divmod(10000,60)
(166, 40) ->> 166 分40秒
>>> divmod(166,60)
(2, 46) ->> 2小时46分
#10000转成16进制数是?
>>> divmod(10000,16)
(625, 0)
>>> divmod(625,16)
(39, 1)
>>> divmod(39,16)
(2, 7)
>>> hex(10000)
'0x2710'
#10000转成8进制
>>> divmod(10000,8)
(1250, 0)
>>> divmod(1250,8)
(156, 2)
>>> divmod(156,8)
(19, 4)
>>> divmod(19,8)
(2, 3)
>>> 0o23420
10000
字符串
- python中字符串被定义为引导之间的字符集合
- python支持使用成对的单引号或者双引号
- 无论单引号,还是双引号,表示意义相同
- python还支持三引号(三个连续的单引号或者双引号),可以用来包含特殊字符
>>> s1 = """tom
... jerry
... jack
... rose
... """
>>> print(s1)
tom
jerry
jack
rose - 常见操作
>>> s1 = 'python'
>>> len(s1) #取长度
6
>>> s1[0] #第一个字符
'p'
>>> s1[6] #超出范围
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> s1[-1] #负数表示从右向左,最后的一个字符
'n'
>>> s1[-6] #自由向左第6个字符
'p'
>>> s1[2:4] #切片,起始下标包含,结束下标不包含
'th'
>>> s1[2:6] #切片时。下标超出范围是允许的
'thon'
>>> s1[2:] #结束下标不写,表示取到结尾
'thon'
>>> s1[2:] #起始下标不写,表示从开头取
‘py’
>>>s1[:] #默认取全部
>>> s1[::2] #步长值为2,取切片
’pto‘
>>> s1[1::2]
'yhn'
>>> 't' in s1 #t在s1中吗?
True
>>> 'th' in s1
True
>>> 'to' in s1 #to在s1中吗?
False
>>> 'to' not in s1 #to不在s1中吗?
True
>>> s1 + ‘is good’ #字符串拼接
‘python is good’
>>> '*' * 30 字符串*重复30遍
'******************************'
>>> '#' * 30
'##############################'
>>> s1 * 3
'pythonpythonpython'
列表
- 列表可以当作数组使用
- 字符串的相关操作同样适用于列表
>>> l1 = [10, 20, 5, 30, 8]
>>> len(l1)
5
>>> l1[0]
10
>>> l1[2:4]
[5, 30]
>>> 20 in l1
True
>>> l1.append(20) #向列表尾部追加数字20
>>> l1
[10, 20, 5, 30, 8, 20]
元组
- 可以理解为元组是不可变的列表
- 列表的相关操作同样适用于元组
>>> t = (10, 20, 8, 38)
>>> len(t)
4
>>> 10 in t
True
>>> t[2]
8
l1[0] = 100 #将列表第一列改成100
>>> l1
[100, 20, 5, 30, 8, 20]
>>> t[0] = 100 #元组不可变,报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
字典
- 字典是由键-值(key-value)对构成的映射数据类型
- 通过键取值,不支持下标操作
- 字典是没有顺序的
>>> 'tom' in d1 tom是字典的key吗
False
>>> 'name' in d1 #name是字典的key吗
True
>>> d1['name'] #通过key取value
‘tom’
数据类型总结
- 按存储模型分类
- 标量:字符串、数字
- 容器:列表、元组、字典
- 按访问模型分类
- 直接:数字
- 顺序:字符串、列表、元组
- 映射:字典
- 按更新模型分类
- 不可变:数字、字符串、元组
- 可变:列表、字典
python语法,基础的更多相关文章
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- python语法基础笔记
本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 ...
- Python | Python语法基础
目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...
- python 笔记2:python语法基础
python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...
- python语法基础-面向对象-基础-长期维护
############### 类的基本操作 ############## """ 类的基本认识: 1,类就是一个模子 2,dict,list都是类,具体的一 ...
- day_02~day_09的Python语法基础
Python基础学习 day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> ...
- python语法基础-初始化/继承
写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承) 初始化: 1.在程序执行时一定执行一次的操作 2.python中初始化in ...
- python语法基础-网络编程-TCP协议和UDP协议
############### 网络编程 ############## """ 网络编程 学习了Python基础之后,包括函数,面向对象等,你就可以开发了,你 ...
- python语法基础-异常操作-长期维护
############### python-异常的操作 ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异 ...
- python语法基础-文件操作-长期维护
############### python-简单的文件操作 ############### # python中文件的操作 # 文件操作的基本套路 # 1,打开文件,默认是是只读方式打开文件 ...
随机推荐
- 2020-04-24:Object obj = new Object()这句话在内存里占用了多少内存
福哥答案2020-04-25:这道题最好把对象和变量分开说明,否则容易产生误解.以下都是64位环境下.针对对象:压缩状态:MarkWord 8+klass 4+数据0+对齐4=16非压缩状态:Mark ...
- 关于在Visual Studio 2019预览版中的用户体验和界面的变化
原文地址:https://blogs.msdn.microsoft.com/visualstudio/2018/11/12/a-preview-of-ux-and-ui-changes-in-visu ...
- arm-linux-gcc-4.4.3.tar.gz
http://u.163.com/xzbSXC6T 提取码: QNk9KsMH
- golang 标准库
前言 不做文字搬运工,多做思路整理 就是为了能速览标准库,只整理我自己看过的...... 最好能看看英文的 标准库 fmt strconv string 跳转 golang知识库总结
- windows下的Redis安装:
windows下的Redis安装: 百度网盘地址:https://pan.baidu.com/s/1yYED2pXLWolPXvWaABtF2Q 提取密码:xshu 1.解压文件并且创建start.b ...
- Golang Gtk+3教程:GtkBuilder使用XML构建UI
在这节我将介绍GtkBuilder,其使我们可以从一个描述界面的xml文件构建UI.而这个文件我们可以使用Glade生成,这会极大的方便我们编辑用户界面.这节我们会使用到这么一个XML文件,名字为Bu ...
- 为什么LinkedList不建议使用for循环遍历,而使用iterator方式进行遍历,但ArrayList建议使用for循环进行遍历呢?
如果使用for循环方式遍历链表,由于链表中元素是通过指针连接彼此的,不存在索引的概念,如果使用for循环方式遍历LinkedList,依次传入索引值,则就相当于每次都要将链表撸一遍. 如:在下面的这个 ...
- git 常规操作 windows版
首先在本地建立好文件夹,然后初始化git仓库: git init 接下来在github上面克隆项目: git clone 这里写你的项目地址 然后就可以修改,删除,提交代码了 如果需要在新分支上面开 ...
- python 多个装饰器的调用顺序分析
一般情况下,在函数中可以使用一个装饰器,但是有时也会有两个或两个以上的装饰器.多个装饰器装饰的顺序是从里到外(就近原则),而调用的顺序是从外到里(就远原则) 样例: def func1(func): ...
- 什么是RPC,RPC好处,常用的RPC框架
RPC简介 RPC(Remote Procedure Call Protocol)远程过程调用协议.一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用 ...