前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一天从入门到放弃Python

一天从入门到放弃Python

作者头像
十月梦想
发布2020-01-20 15:24:18
1.5K0
发布2020-01-20 15:24:18
举报
文章被收录于专栏:十月梦想

初识Python

第一个Python程序

新建一个hello.py输入以下代码,控制台使用Python命令执行hello.py,第一个py程序搞定

代码语言:javascript
复制
print("hello,Python")

注释

代码语言:javascript
复制
单行注释#这是被注释的代码多行注释1.每一行用#2.三引号包围(''' 代码段''')("""   代码段  """)

数据类型

概要(扯犊子)

学习一门语言如何学?基本套路就是从环境搭建,ide选择,到第一个输出语句到接下来的数据类型开始认识!

Python也毫不例外这些套路.我们来认识下Python都哪些数据类型!

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
Number型
代码语言:javascript
复制
n=123 #一个整数型的数字,在py3.x版本以整数只有intf=123.0 #一个浮点型只有floatprint(type(n))  type可以返回变量类型

注意:布尔属于number的一种!

可以转为Flase的情况

代码语言:javascript
复制
0====>Flase[]====>Flase()====>Flasenone===>Flase

number型的运算类型

代码语言:javascript
复制
type(1)  #inttype(1+1) #inttype(1+1.0) #floattype(2/2)  #float ,注意此情况是floattype(2//2)  #number,双//是number类型
复数
代码语言:javascript
复制
a=36jb=4+5jtype(b)  #返回complex
进制转换
代码语言:javascript
复制
# 进制# 二进制:0b10# 八进制:0o1357# 十六进制:0xAF36#进制转换#转十进制int()#转二进制 0b开头bin()#转16进制 0x开头hex()#转八进制 0o开头oct()
String(字符串)型
三种字符串符号

单引

代码语言:javascript
复制
name='哈哈'

双引

代码语言:javascript
复制
name="李雷"

三引号(用于多行代码包围,简单理解类似于js的``)

代码语言:javascript
复制
name='''你好你丫哈哈哈'''
转义字符
代码语言:javascript
复制
#转义字符串#/n换行#/r回车# \t 缩进
原生字符串(不被转义)
代码语言:javascript
复制
#原生字符串#需要保留转义的用到转义字符串如保留D:\Python\basis\day01print(r"D:\Python\basis\day01");
字符串计算(重点)

字符串拼接

代码语言:javascript
复制
#拼接可用 + 或者 ,  并列还有其他方式#+方式print('hello'+'world')#helloworldprint('hello'*3)#hellohellohello#,方式 会显示空格print('hello','world')#hello  world#并列连接print('hello''world')  #结果:helloworld

指定字符串计算

代码语言:javascript
复制
str='helloworld'#str[0]获取第一位的字符#str[-n]从最后开始数#获取hello,第一个开始位置,末尾为结束的下一位print(str[0:6])#截取除最后两位print(str[0:-2])#截取hello2种方式:print(str[0:5])print(str[0:-5])newStr="hello C# JAVA PHP GO PYTHON c++ c ruby"#保留hello除外print(newStr[6:])#保留最后四位print(newStr[-4:])
列表(list)

何为列表?py三大可变数据类型的一种.类似于JavaScript中的数组形式也是一样.

我们来看下如何定义一个数组.呸!列表(List)

代码语言:javascript
复制
# 定义一个列表arr = [1, 5, 8, 'hello', 'world', False, True]# 检测类型print(type(arr))# 列表嵌套arr1 = [[1, 2, 3], ['hello', 'world'], ['this', 'is', 'Python']]print(type(arr1))

列表的相关操作和JavaScript的大体类似,又有着自己独立简洁的方式!

代码语言:javascript
复制
# 列表操作fruit = ["苹果", "梨子", "香蕉", "桃子"]# 选取指定某个位置的元素print(fruit[3])#选取指定位置开始到结束的print(fruit[0:3])#从后面截取,返回是单个数组print(fruit[-1:])#列表合并print(fruit+["火龙果","橙子","葡萄"])#列表相乘,返回['苹果', '梨子', '香蕉', '桃子', '苹果', '梨子', '香蕉', '桃子']print(fruit*2)
元组(tuple)

元组使用()定义,是一种不可变数据类型!我们看下简单食用方法!

代码语言:javascript
复制
#定义一个元组使用()tup=(1,2,3,4,5);

元组的相关操作

代码语言:javascript
复制
#使用指定的元组元素print(tup[0:2])print(tup[-3:])#元组数据相乘(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)print(tup*3)#元组合并print(tup+(5,6))#元组的使用方法大多数于列表相同,但是元组数据不可修改,不能元组复制#单个元组的话,里面本身是什么类型就返回自身类型,不会返回元组print(type((1)))  #intprint(type(('hello')))  #string
序列(str,list,tuple)相关共同点
代码语言:javascript
复制
#序列#包含:str(字符串),list(列表),tuple(元组)#1.可以使用+*操作#2.切片 下标索引等print([1,2,3][0])#3.in和not in操作print(3 in [1,3,5,7,9])  #返回Trueprint(3 not in [1,3,5,7,11])  #返回False#4.可以进行求出序列的最大值,最小值print(max(1,2,3))print(max(1,2,3))#非数字转换为ascll码进行比较print(max('你好,Python'))#获取指定字符的ascll码值print(ord('中'))
集合(Set)

定义一个集合(和上述的序列不同,集合是无序的)

代码语言:javascript
复制
#定义一个sets={1,2,3,4,3,3,5,4,5}print(s)print(type(s))  # 检测下集合的类型

判断是否包含可以使用序列的in和 not in方法

代码语言:javascript
复制
#判断是否在3内s={1,2,3,4,3,3,5,4,5}print(3 in s)  # True

集合的相关操作

代码语言:javascript
复制
#去除集合中的{3,4,5}使用-print(s-{3,4,5})  #返回集合{1,2}#找到2集合(或者多个)的重复元素print(s &{3,4}) # 返回重复的集合(交集)#找到多个集合的合并(并集) 用 |print(s | {8,9,10,5}) #返回 {1, 2, 3, 4, 5, 8, 9, 10}#判断集合的类型print(type({1,2,3}))  #返回setprint(type({}))   #空集合不返回set返回dict

定义一个空集合

代码语言:javascript
复制
print(type(set()))
字典(dict)

先来看下字典定义格式 {k:v,.....}

定义一个字典类型

代码语言:javascript
复制
d = {'name': '哈哈', 'age': '18', 'time': '2019-9-13'}print(type(d))

具体使用方式

代码语言:javascript
复制
# key 可以必须是不可变类型 int,str,tupleprint(type({(1, 2): '今天真好', 'test': '测试', 1: 'python'}))# key不能重复,但是1(int)和'1'(str)可以同时print({'a': 123, 'a': 456, 'b': '000'})  # {'a': 456, 'b': '000'}print({'1': 'hello', 1: 'world'})  # {'1': 'hello', 1: 'world'}# print({[1, 2]: 3})  # 报错,[1,2]是可变的# 字典访问 通过dict['key']访问print(d['name'])# 表示一个空的dictprint(type({}))# 一个空的集合setprint(type(set()))
值类型和引用类型

值类型(int,str,tuple)不可改变,引用类型(list set dict)可以改变

运算符

算术运算符

代码语言:javascript
复制
• +• -• *• /• %• **• //

赋值运算符

代码语言:javascript
复制
 ++ -- *= /= %= **= //=

比较运算符

代码语言:javascript
复制
><>=<===!=

逻辑运算符

代码语言:javascript
复制
andornot

身份运算符

代码语言:javascript
复制
innot in

位运算符(转为二进制计算,初次接触java时候也接触过,等同的方式)

代码语言:javascript
复制
&  按位于|  按位或^  按位异或~  按位取反>>  右移动<<  左移动

判断变量类型

isinstance(str,(type1,type2...))

IDE选择

  • 1.vscode
  • 2.sublime
  • 3.pycharm

流程控制

条件控制(if....else)

代码语言:javascript
复制
注意:py是通过缩进进行识别代码的,不需要其他语言的{}进行执行函数体,看一下简单的一个if语句p=Trueif p:  print('正确')else: print('错误')

模拟用户密码校验(check.py)

代码语言:javascript
复制
# 检测用户密码时候正确# 定义默认密码user_name = 'root'user_pwd = '123456'# 用户输入函数 inputprint('请输入您的用户名')name = input()print('请输入您的密码')password = input()if (name == user_name) & (password == user_pwd):    print('亲爱的管理员,欢迎登陆')else:    print('抱歉,账号或密码错误!')

循环

while循环

代码语言:javascript
复制
count = 1while count <= 10:    print("你好,Python!", count)    count += 1else:    print("循环结束")

for in循环

简单的for in遍历

代码语言:javascript
复制
fruit = ['apple', 'orange', 'peach', '西瓜', '火龙果']for x in fruit:    print(x)print("======================优雅的分隔符=======================")

常规for循环

代码语言:javascript
复制
其他语言for(i=0;i<10;i++){    代码段}py如何实现指定次数的循环呢!需要结合 range(star,end,步长)for x in range(0, 10):    print("你好,Python", x)#递减的for循环for n in range(10, 0,-1):    print("n:", n)

多重数据遍历

代码语言:javascript
复制
arr1 = [['apple', 'orange', 'peach', '西瓜', '火龙果'], (1, 2, 3)]for m in arr1:    for n in m:        print(n)

包 模块 类 变量和函数

包:一个文件夹,一个包下面包含多个模块

模块:一个文件(*.py),一个模块包含多个类

类:一个类包含一个或者多个变量,函数

包引入

代码语言:javascript
复制
import package_namepackage_name.变量/方法调用

包可以和模块嵌套,每个包里面可以多个模块

代码语言:javascript
复制
pack1=>{    pack2=>{        m1        m2        ....    }    m1    m2    m3    ....}

调用两个模块的m1

代码语言:javascript
复制
第一层的m1import m1print(m1.a)调用第二层的m1import pack2.m1对于包(package)名过长可以这样导入import package_name as new_name下次使用new_name调用既可

另一种引入方式

代码语言:javascript
复制
导入单个变量from  packa_name import a导入所有的变量from  packa_name import a,b,cfrom  packa_name import *

__init.py作用

代码语言:javascript
复制
init.py为包名导入共用的代码,提高可复用性注意:包和模块不能重复导入

函数

定义函数

代码语言:javascript
复制
"""定义一个函数def funcname(args_list):    代码段可以没有参数,可以没有返回值,可以使用return"""def func():    print("这是py的一个函数")func()

函数的定义和调用

代码语言:javascript
复制
"""定义一个两数相加函数"""def add(m, n):    return m + nprint(add(5, 8))"""打印输入的参数"""def arg(name, age):    print(name + '今年' + age)arg('李雷', '28')

函数参数的对应

代码语言:javascript
复制
def add(x,y): return x+y# 参数一一对应 add(3,5) # 也可以进行分别赋值 add(y=3,x=5)

多个赋值的几种方式

代码语言:javascript
复制
x,y,z=10,20,30x=y=z=10a=1,3,5type(a)  # 返回 tuple(元组)

默认参数

代码语言:javascript
复制
# 默认参数def student_info(name, sex='男', age='18', school='衡水中学'):    print("我是" + name)    print("我是" + sex + "生")    print("我今年" + str(age) + "岁")    print("我在" + school + "上学")# 传递就用新参数,不传递默认参数的值代替student_info("李雷")print("=======================================")student_info("韩梅梅", "女")print("=======================================")student_info("王小明", "男", 16)print("=======================================")#注意必须参数传在默认参数之前

默认参数其一的调用方式

代码语言:javascript
复制
# 默认参数指定其一
student_info("王二蛋",  age=16)
print("=======================================")

至此大概已经了解了py的基本语法,接下来开始py编码之路吧!

作者:十月梦想 ,复制或转载请以超链接形式注明转自 十月梦想博客 。 原文地址《一天从入门到放弃Python

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-9-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 初识Python
    • 第一个Python程序
    • 注释
    • 数据类型
      • 概要(扯犊子)
        • Number型
          • 复数
          • 进制转换
        • String(字符串)型
          • 三种字符串符号
          • 转义字符
          • 原生字符串(不被转义)
          • 字符串计算(重点)
        • 列表(list)
          • 元组(tuple)
            • 序列(str,list,tuple)相关共同点
          • 集合(Set)
            • 字典(dict)
              • 值类型和引用类型
              • 运算符
              • IDE选择
              • 流程控制
              • 包 模块 类 变量和函数
              • 函数
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档