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,打开文件,默认是是只读方式打开文件 ...
随机推荐
- C#算法设计排序篇之02-快速排序(附带动画演示程序)
快速排序(Quick Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/677 访问. 快速排序由C. A. R ...
- python基本数据类型(—)
数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2** ...
- nodejs版本RSA算法封装(SHA1)
故事背景 看到没写过代码的人聊算法细节装X,真的感觉非常逗,又不好意思戳破人家的表演. 这个世界好奇妙,总有那种看了一些周边普及性书籍就开始好为人师.指点江山,乖乖,放到古代很可能就是赵括,能代替廉颇 ...
- 【NOI2015】 软件包管理器 - 树链剖分
noi2015 软件包管理器 Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软 ...
- Python Matplotlib绘图基础
Matplotlib绘图基础 1.Figure和Subplot import numpy as np import matplotlib.pyplot as plt #创建一个Figure fig = ...
- magento paypal测试配置
1.登录https://developer.paypal.com 2.在https://developer.paypal.com/developer/accounts/中创建
- 易盛信息9.0外盘期货行情数据API接口公共授权开发包例子代码
易盛信息9.0外盘期货行情数据API接口公共授权开发包例子代码 怎么才能获取到外盘期货行情数据API接口呢?不少朋友就会考虑到易盛9.0行情API接口,本身易盛就是一个软件提供商,提供行 ...
- 手写一个简单版的SpringMVC
一 写在前面 这是自己实现一个简单的具有SpringMVC功能的小Demo,主要实现效果是; 自己定义的实现效果是通过浏览器地址传一个name参数,打印“my name is”+name参数.不使用S ...
- java安全编码指南之:基础篇
目录 简介 java平台本身的安全性 安全第一,不要写聪明的代码 在代码设计之初就考虑安全性 避免重复的代码 限制权限 构建可信边界 封装 写文档 简介 作为一个程序员,只是写出好用的代码是不够的,我 ...
- Git-commit-中添加表情
git commit 中使用表情 我们经常可以在github上看到国外大佬的commit信息中有很多可爱的表情,这是怎么做到的呢? ok,可以这样使用哦:git commit -m '提交信息 :em ...