入坑Python之 你在学些什么?

 

 

一,Python是什么?

python是一种解释型计算机语言,基于C语言基础上的弱类型语言.

 

二,print打印

我们要编写的第一个代码就是

print("hello word")

 计算机显示会出来hello word,让你感到计算机执行你的命令,据说,几乎所有的编程语言第一句话就是这个,会打出来这句话,恭喜你,入坑了!~~

 

附加:print的基本运用

在打印里面

self 表示你输入的字符都是他自己

*args 位置参数,在函数文章有些,可以接受到无数形参的传值

sep  就相当于打印出来默认的是 " " ,如果你要修改默认参数的话,会以一个下划线相加拼接

print('let\'s go',"哈哈",sep = "_")  #结果:let's go_哈哈

end   结尾默认是"\n" 如果你要修改的话直接把默认值修改就可以了,近期的话文件操作会用的到的

file 文件  默认是没有的  如果你要不觉得麻烦的话  你可以open吧文件边读边写进去比如

print('let\'s go',"哈哈",sep = "_",file=open('F:\我是.txt' ,"a")) 

最后提醒一下  新手最容易失误的就是在编码的时候误用了中文标点符号.切记!

 

三,变量(命名规则)

在编程中,最长用到的其实最重要的就是变量了!

变量是一种使用方便的占位符,就和数学小的时候学的xy一个意思

变量的命名规则:

1,由字母,数字,下划线组成

2,不能数字开头,更不能是纯数字

3,不能是关键词

4,不要太长

5,不要用中文

6,区分大小写

7,要有意义

8,建议使用驼峰体或者下划线

(有变量就会有常量: 全部字母大写常量. 约定俗成)

 

四,数据类型

0.0  int 整数  

bit_length()计算这个数在二进制中的长度

+ - * / 加减乘除 **次幂  //地板除 < >  !=不等于

a = 9
print(a.bit_length())

 来计算整数在内存中占用的二进制码的长度

32位机器上int的范围是: -2**312**31-1,即-21474836482147483647
64位机器上int的范围是: -2**632**63-1,即-92233720368547758089223372036854775807
够你用了吧. 注意这些是整数

1.0  str 字符串

用"   "表示,'   ',也可以这些引起来的就是字符串,可以保存少量数据并进行相应的操作
字符串可以用单引号,双引号,或者三引号引起来,没有什么区别,只是这些特殊的格式需要的引号
#字符串的拼接

#字符串的拼接
s1 = 'a '
s2 = 'bc'
print(s1 + s2)
#相乘 str*int
name = '坚强'
print(name*8)

 如果让两个数相加,那么python就会直接告诉你

但是如果数字两边都加了引号

>>>"5"+''8''

>>>"58"

要告诉你,python在创建一个字符串,就要在字符串两边加上引号,可以是单引号或者双引号,python表示在这一点上面不挑剔.但是必须成对,你不能一边用单引号,一边用双引号结尾,这样python就不知道你要干什么了.

print("python 我爱你哟~')
#结果EOL while scanning string literal

这个就有点像你,一遍跟python说我爱你,却一边搂着小c,所以面对这么完美的语言,我们不写不别扭的语法.

那么如果字符串需要内容中需要单引号或者双引号怎么办?

print('let's go')
#结果:invalid syntax  语法错误

像上面两种方法,第一种比较常见,就是使用转义符号(\)对字符串中的引号进行转义.

print('let\'s go')

还有就是一种方法就是利用python 既可以用单引号,也可以用双引号表示这一个字符串的特点,只要用上不同的引号表示字符串,那么python就不会误解你的意思了~

 

 

1.1切片和索引

指向每一个字符,字符都有一个唯一的下标

切片:

[start:end:step]

start 起始位置

end 结束位置

step  步长

1.2方法

upper()  把字符全部转换成大写

stirp()  去空白

replace()  替换

strartswith()  是否以xxx开头

find() 查找  index查找()  区别:index找不到会报错,find找不到会返回-1

count()计数

isdigit()  判断是否是数字

len()  长度

jion() 把列表拼接成字符串

 

1.3编码

encode(编码)

decode()解码

ASCII    8bit   1byte

GBK  国标码 GB2312  16bit,2byte  因为国标码向下兼容ASCII码  所以是英文1byte

Unicode   万国码  32bit  4bit   

UTF-8  可变长度的ASCII码 

  英文:1byte

  欧洲:2byte

  中文: 3byte

编码之后数据bytes  用dicode()解码

1.4.  格式化输出

  前面讲了字符串大部分方法,唯独漏了 一个format()方法因为我觉得format()方法和格式化话题有点如出一辙,都是关于格式化输出,所以一起说一下.

  什么是字符串格式化?哪里会用到呢?

  当我们写代码写的多的时候,就会觉得总是输出一样的东西,都差不多,那就简单了直接格式化就可以了,格式化字符就是按照统一的字符规格去输出一个字符串,如果规格不统一,就可能会造成误会,例如16进制的10和十进制的10或者二进制的10都是不一样的,字符串格式化,正是帮助我们矫正并规范着类问题而存在的.

1.4.1 format()

这个方法是可以接收位置参数和关键字参数的(函数有说明) 两者传递到一个叫作replacement 字段.而这个reliacement字段在字符串中内由大括号表示

print("{1}6666666{0}".format("你好","我叫赛利亚"))
#结果:我叫赛利亚6666666你好

如果要把{}打印出来,你可以用(\)转义,只需要用转义字符本身(\\)

 

1.4.1格式化%

 

python格式化符号的含义
符号含义
%c格式化字符及其他ASCII码

%s

格式化字符串
%d格式化整数
%o格式化无符号八进制数
%x格式化无符号的十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数的精度
%e用科学技术法格式浮点数
%E和是上面方法一样
%g根据值的大小决定使用%f或者%e
%G上面方法一样

 

 

 

 

 

 

 

 

 

 

附赠:python转义字符及含义

python部分转义符已经使用了,是时候和他来一个了断了

符号说明符号说明
\'单引号\r回车符
\"双引号\f换页符
\a发出系统响铃声\o八进制数代表的字符
\b退格符\x十六进制数代表的字符
\n换行符\0表示一个空字符
\t制表符tab\\反斜杠
\v纵向制表符  

 

2.bool  布尔值

取值只有True, False. bool值没有操作
0False 0True

类型转换:

False: 0, '', None, [], {}, tuple(), set()
True: 除了上面的都是True
int_1 = 1
str_1 = "2"
"str => int "
int(str)
"int => str "
str(int)
"int => bool"
bool(int) #0是False 非0是True
"bool=>int"
int(bool) #True是1, False是0
"str => bool" 
bool(str) #空字符串是False, 不空是True
"bool => str"
str(bool) #把bool值转换成相应的"值

 

3.0   list 列表  [  ]

列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 比如JS中的数
, java中的数组等等. 它是以[ ]括起来, 每个元素以' , '隔开并且可以存放各种数据类型
:

lst = [1, '哈哈', [1,8,0,"百度"], ("我","叫", "元", "组"), "abc",
       {"我叫":"dict字典"},{"集合","集合"}]
print(lst)

列表相比于字符串. 不仅可以存放不同的数据类型. ⽽且可以存放⼤量的数据. 32python可以存放: 536870912个元素,64位可以存放: 1152921504606846975个元素.并且列

表是有序的(按照你保存的顺序),有索引, 可以切片便取值

 3.1 列表的增删改除

3.1.1 增加

  list.append()在列表后面追加

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lis.append("胡桃夹子")
print(lis) #结果:['我不是药神', '你好北京', '爱情公寓', '流年', '胡桃夹子']

 

  list.insert()在列表指定索引地方添加元素

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lis.insert(1,"我不是潘金莲")#在第1项添加元素
print(lis) #结果:['我不是药神', '我不是潘金莲', '你好北京', '爱情公寓', '流年']

 

  list.extend(Iterable可迭代对象) 迭代添加

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lis.extend("哈哈哈哈")  #迭代添加
print(lis) #结果:['我不是药神', '你好北京', '爱情公寓', '流年', '', '', '', '']

 

3.1.2 删除

这个方法一共四种,我们来看一下吧:

  list.pop(0) 把第0个元素弹出去  

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lis.pop(0)
print(lis)  #结果['你好北京', '爱情公寓', '流年']

 

  list.remove("需要删除的列表中的词")删除指定元素

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lis.remove("爱情公寓")
print(lis)  #结果:['我不是药神', '你好北京', '流年']

 

  还有一种,但是要注意del是一个语句,不是一个列表的方法,所以不必再后面加小括号().另外如果你想要删除整个列表,还可以用del加列表名删除.

lis = ["我不是药神","你好北京","爱情公寓","流年"]
del lis[:2]
print(lis)#['爱情公寓', '流年']

  最后一种办法list.clear()清空列表

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lis.clear()
print(lis)  #结果:[]

 

3.1.2删除的坑:

如果不用clear清空列表的话,for循环是删不干净的,因为他是根据索引来进行删除的,可是当我第0项挪过来的时候,排在第一个往前挪,所以删除的话是会剩下的,若要用for的办法需要这样写:

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lst = []
for i in lis :
    lst.append(i)
for el in lst :
    lis.remove(el)
print(lis)  #结果:[]

 

3.1.3 更改

  上面讲了这么多办法,更改的你应该已经了解了索引了,所以更改的话你可以通过索引进行更改

lis = ["我不是药神","你好北京","爱情公寓","流年"]
lis[0] = "世界末日"
print(lis)

 

3.1.4查询

lis = ["我不是药神","你好北京","爱情公寓","流年"]
print(lis[0])

 

for el in lis :
    print(el)
#结果:
我不是药神
你好北京
爱情公寓
流年

3.3 列表的其他操作

count()计数
lis = ["我不是药神","你好北京","爱情公寓","流年","流年"]
print(lis.count("流年"))  #2
index()查找元素
lis = ["我不是药神","你好北京","爱情公寓","流年","流年"]
print(lis.index("流年"))  #3
但是如果输入一个错误的系统会报错:
lis = ["我不是药神","你好北京","爱情公寓","流年","流年"]
print(lis.index("我是个神"))
#ValueError: '我是个神' is not in list  这个元素不在这个列表中

 

sort()排序
lis = [1,2,93,54,8]
lis.sort()
print(lis)  #[1, 2, 8, 54, 93]

 

reverse()翻转

lis = ["我不是药神","你好北京","爱情公寓","流年","流年"]
lis.reverse()
print(lis)#['流年', '流年', '爱情公寓', '你好北京', '我不是药神']

 

3.4拷贝

1. = 赋值操作. 没有创建对象. 两个变量使用同一个对象.
2. 浅拷贝. 只拷贝一层. list.copy(), list[:]
3. 深拷贝. 和这个对象相关的内部信息全部拷贝一份. deepcopy() 原型模式

3.5 推导式

[结果 for循环 if判断]

 

 

4.0  tuple 元组

元组: 俗称不可变的列表.被成为只读列表, 元组也是python的基本数据类型之一, 用小括号括起来, 里面可以放任何数据类型的数据, 查询也可以. 循环也可以. 切片也可以. 但就是不能改

元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

 

dict 字典 [key:velue]

 

用大括号{} 括起来. 内部使用key:value的形式来保存数据

{'jay':'周杰伦', "jj":'林俊杰'} 注意:字典的key必须是可哈希的. 不可变的, value 没有限制 不是按照我们保存的顺序保存的, 无序的

网址: https://www.cnblogs.com/zhaodingding/p/9620086.html

set  集合

特点: 无序, 不重复, 元素必须可哈希(不可变) 
作用: 去重复 本身是可变的数据类型. 有增删改查操作.
frozenset()冻结的集合. 不可变的. 可哈希的

python中集合的运算:https://www.cnblogs.com/zhaodingding/p/9688495.html





五,用户交互
使用
input()函数,可以让我们和计算机互动起来
a = input("请输入你叫什么")
print(a)

 显示就会出来你输入的内容



六,流程if语句

 if的话,就像回家,我是应该走大道还是走小道,大道会遇到什么,小道的话会遇到什么.其实用if公式说实话,很皮的可以做很多事情,比如diss不会编程的人

学了这个突然有了学习的兴趣,毕竟皮一下很有趣哟~

 

if的话有三种语法:请拿好小本本记上~~~~

 

第一种语法:
if 条件: #引号是将条件与结果分开。
结果1。 # 四个空格,或者⼀个tab键,这个是告诉程序满⾜这个条件的
结果2。
如果条件是真(True) 执⾏结果1, 然后结果2, 如果条件假(False) 直接结果2

a = int(input("请输入一个数字"))
if a == 1:
    print("你回答的是1")
print("你回答的是其他的")

如果你输入的是1的话,他就会执行if条件后面的话

 

第二种if语法:

 

a = int(input("请输入一个数字"))
if a == 1:
    print("你回答的是1")
else:
    print("你回答的是其他的")

按照刚才的输入,就直接回答你输入的是1,没有你回答是其他的那句话了== 

 

第三种if语法:

 

a = int(input("请输入一个数字"))
if a == 1:
    print("你回答的是1")
elif a ==2:
    print("你回答的是2")
else:
    print("你回答的是其他的")

就和超市购物一样,如果你有100元去超市,你可以购买老干妈八罐,如果你有50,你可以购买几包乐事薯片,如果你有10元,你可以购买俩个冰棍.

如果你有5毛,你可能只能吃卫龙了......这个看你主要的条件是什么!

 

 第四种if语法(嵌套):

 

if gender == '女的':
	age = input("你多大了啊?") # 年龄大于60就不开门了. 小于60可以考虑
	if int(age) < 60:
		print("请进")
	else:
		print("大妈您去隔壁看看金老板")
else:
	print("不开不开我不开!")


可以⽆限的嵌套. 但是在实际开发中. 尽量不要超过三层嵌套

 

七,流程控制-while循环
这个东西很棒的!作为一个小喷子,恨不得给他们装上轰炸机,那我们就可以用Python模拟一个轰炸机一样的东西,这个就叫while,一直循环一句话,
就问你怕不怕!服不服!

 

循环的听一首歌:你试试?

while True:
print("你是我的小啊小苹果")
print("怎么爱你都不嫌多")
print("小苹果啊!小苹果!")

如果条件是真, 则直接执行结果. 然后再次判断条件. 直到条件是假. 停止循环
一直听这首歌曲,总有腻了的一天.那怎么办呢?
结束循环:
1,改变条件.
2,break
结束循环,break



八,流程控制-breakcontinue
1, break: 立刻跳出循环. 打断的意思

比如我要歌曲停止,需要摁暂停键这个东西就是break的意思....

 

while 1 :
    print("我很皮对不对")
    break

结果他就出现一遍了,就没有然后了.....为了能有一个回复我就得这样回答!~

 


2, continue: 停⽌本次循环, 继续执⾏下⼀次循环

while True:
    s = input("请开始喷:")
    if s == 'q':
        break   # 停止当前循环
    # 过滤掉晓梅
    if  "晓梅" in s: # 在xxx中出现了xx
        print("你输入的内容有少儿不宜. 不能输出")
        continue    # 停止当前本次循环. 继续执行下一次循环
    print("喷的内容是:"+s)

请get这个技能~~~

 

 



 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/zhaodingding/p/9439750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值