python基础学习小知识点

编程入门 行业动态 更新时间:2024-10-06 12:31:13

python基础学习小<a href=https://www.elefans.com/category/jswz/34/1770093.html style=知识点"/>

python基础学习小知识点

文章目录

  • 前言
  • python基本语法
    • 一.数据和符号问题
      • 1.数据类型问题
      • 2.运算符问题
      • 3.输入与输出问题
      • 4.引号问题
      • 5.进制转换问题
      • 6.位运算问题
    • 二.语句问题
      • 1.条件语句
      • 2.循环语句
        • 1.while 循环
        • 2.for循环
      • 3.break语句
      • 4. continue语句
      • 5.pass语句
    • 三.函数与模块问题
      • 1.函数问题
        • ★匿名函数
      • 2.参数问题
        • 1.可更改(mutable)与不可更改(immutable)对象
        • 2.参数
      • 3.模块问题(Module)
    • 四.字符串问题
      • 1.切片问题
      • 2.字符串常见操作
  • 总结

前言

新手上路学习python,真的是(白中白)QAQ,emm,没啥好说的,加油吧!

python基本语法

一.数据和符号问题

1.数据类型问题

1.python的数据类型虽然和之前所学的python有相似之处,但是也有许多差异。命名规则一样,但是在定义变量的时候不用写上变量名。(字母,数字,下划线;数字和下划线不能放在开头)

2.驼峰式命名:getNameByLine(大驼峰),get_name_by_line(小驼峰)

3.数据类型

Number(数字)int,long,float,complex
Bool(布尔类型)True,False
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)

4.给定数据,编译器自动换成该类型。可以用type()函数观察该变量式什么类型

5.强制性类型转换:类型名+(变量),转化成bool类型中:0,"",’’,None,(),{},[]都是false,其他为true

  • int():将一个数值或字符串转换成整数,可以指定进制。
  • float():将一个字符串转换成浮点数。
  • str():将指定的对象转换成字符串形式,可以指定编码。
  • chr():将整数转换成该编码对应的字符串(一个字符)。
  • ord():将字符串(一个字符)转换成对应的编码(整数)。

2.运算符问题

加减就不用多说

运算符描述
/除以
//取整除(向下取整)
**多少次幂
[] [:]下标,切片
**指数
~ + -按位取反, 正负号
* / % //乘,除,模,整除
+ -加,减
>> <<右移,左移(二进制下的左右移)
&按位与
^ |按位异或,按位或
<= < > >=小于等于,小于,大于,大于等于
== !=等于,不等于
is is not身份运算符(比较地址部分)
in not in成员运算符
not or and逻辑运算符
= += -= *= /= %= //= **= &= = ^= >>= <<=

3.输入与输出问题

1.输入: input(),已经规定好是string类型了(括号里面可以加提示语)

2.输出print(),输出自己给定内容用单双引号都可

注意:

1.输出多个变量的值的时候逗号隔开,默认输出空格隔开。不用空格隔开而用其他符号隔开的时候在尾部加上sep='要用的符号'

2.int型的值可以不用变量直接输出(00000输出就是0)。

3.输出默认在结尾有一个换行符,在结尾加上end=""就不会换行啦

4.自定义输出内容用单引号引用起来后加**”+“**再连接变量就没有空格

5.格式符号:

格式符号转换
%%输出%
%s字符串
%d有符号十进制整数
%f浮点数
%c字符
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写字母0x)
%X十六进制整数(大写字母0X)
%e科学计数法(小写e)
%E科学计数法(大写E)
%g%f和%e的简写
%G%f和%E的简写

6.格式化输出

print('我喜欢吃'+much+'蛋糕和'+many+'糖果')
print('我喜欢吃%d蛋糕和%d糖果'%(much,many))

4.引号问题

1.单引号在输出中使用为给定内容输出;在字符串中使用为定义字符串赋值。

2.双引号可用于字符串赋值(和单引号的赋值作用一样)。

3.三引号为多行注释(井号**#**为单行注释),也可用于字符串赋值,和单双引号一样。

这个是为了当单双引号交叉使用时有区别,三引号保留格式

5.进制转换问题

函数进制转换
bin()十进制转二进制
oct()十进制转八进制
hex()十进制转十六进制

其它进制转十进制

i="10"#需要转成十进制的数
j=int(i,2)#2进制转
j=int(i,8)#8进制转
j=int(i,16)#16进制转

6.位运算问题

n1=0b10110#0b提示为二进制数值
n2=0b10010
print(n1&n2)#与::输出为2,其按照每个位置的真假相加,这里只有第1,4位同为真,就为2)
print(n1|n2)#或::输出为3,有三个位置的有真值
print(n1^n2)#亦或::输出为4,相同为假,不同为真,只有第三位不同,对应的二进制数值为00100-->4(十进制
)
print(~n1)#取反::输出为-23,这里涉及到源码,反码,补码问题
'''
n1的源码:0001 0110
n1的反码:1110 1001
n1的补码:1110 1010(反码的基础上加1)
这里-23的二进制表示就是1110 1010
然而根据这样看来,原十进制数字为22,取反后得到-23,这里就要源自补码了,记住取反后得到的数字比原数字小1就好了
'''
#最高位是1的是负数,0是正数
print(n1<<2)#左移::输出为92,二进制数为1011000,简单来说就是将原来的数字乘2的n次方,n为移动的位数
print(n1>>2)#右移::输出为5,二进制数为101,简单来说就是将原来的数字除以2的n次方,n为移动的位数,不能整除就保留整数部分

当位数不对齐时,补零对齐

二.语句问题

1.条件语句

if 判断条件1:执行语句1……
elif 判断条件2:执行语句2……
elif 判断条件3:执行语句3……
else:执行语句4……
#三元运算符(if-else语句的简写形式)
a=10
b=20
c=a if a>b else b

2.循环语句

1.while 循环
while 判断条件(condition):#这里while 1:为死循环哦~执行语句(statements)……
else:(不满足循环条件时)执行语句(statements)……
2.for循环
for iterating_var in sequence:statements(s)

举个例子:

sum = 0
for x in range(101):sum += x
print(sum)

这里的range(101)是指从1到100,没有101

  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

3.break语句

★break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。

★break语句用在while和for循环中。

★如果使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

4. continue语句

★continue语句跳出本次循环,而break跳出整个循环。

★continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

★continue语句用在while和for循环中

5.pass语句

★pass 是空语句,是为了保持程序结构的完整性。

★pass不做任何事情,一般用做占位语句。

三.函数与模块问题

1.函数问题

定义一个由自己想要功能的函数的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

  • 函数内容以冒号起始,并且缩进。

  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

  • 默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。

    def test(num):#判断奇偶数的函数result=0if num%2==0:result=1return resultm=int(input("请输入一个数字:"))
    n=int(test(m))
    if n==1:print("你输入的是一个偶数")
    else:print("你输入的是一个奇数")
    
★匿名函数
  • lambda只是一个表达式,函数体比def简单很多。

  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

  • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

    语法:

    lambda [arg1 [,arg2,.....argn]]:expression
    

    举个栗子:

    sum = lambda arg1, arg2: arg1 + arg2# 调用sum函数
    print "相加后的值为 : ", sum( 10, 20 )
    print "相加后的值为 : ", sum( 20, 20 )
    

    运行结果:

    相加后的值为 :  30
    相加后的值为 :  40
    

2.参数问题

这里引入对象的概念,简单来说对象就是python用来储存数据的模型。python的对象有三个特性:身份、类型、值(这里就不进行展开啦!

1.可更改(mutable)与不可更改(immutable)对象

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

  • 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
  • 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:

  • 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
  • 可变类型:类似 c++ 的引用传递,如:列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。(这里突然间想到了静态变量问题,python是动态语言,并没有完全静态的变量)

2.参数
  • 默认参数:调用函数时,默认参数的值如果没有传入,则被认为是默认值。在函数形参列表中就已经有了赋值。
  • 不定长参数:在实际操作过程中可能会需要函数从处理比当初声明时更多的参数,这些参数会在变量名前加上*,就叫做不定长参数。

3.模块问题(Module)

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句,简单来说其类似于C/C++头文件。
这里的模块可以用来管理函数,但是遇到同名函数时只保留最后一个函数的函数体实现,不存在函数重载问题。如果要避免,就要将两个函数存到不同的模块中就好了。
import语法

import module1[, module2[,... moduleN]]
模块名.函数名

这时可以运用指定模块中的函数

from…import语法

from modulename import 函数名:

只引入与指定函数有关的项目到当前命名空间

from…import 语句*

from modulename import *

一次性引入模块内的所有项目到当前命名空间

四.字符串问题

1.切片问题

用于字符串的截取,对于python输入输出使用inputprintinput默认输入的都是字符串。

对于字符串的索引问题,与C/C++有一定的差别。

index(C/C++):0~len(str)-1
index(python):0~len(str)-1或者:-len(str)~-1或者交叉使用:当使用第二种方式要取到最后一个字符时,就用-len(str)~len(str)作为范围

切片可用于字符串和列表

运用格式:

字符串变量[start:end]
start=0默认从第一个字符开始
end=0默认取到最后一位
**对于截取区间,遵循取头不取尾的原则**
当需要步长时:字符串变量[start:end:step]
*每step个字符取一个
*step为正则正向取,为负则反向取,如果要输出,也是倒着输出,这时需要注意起始位置

举个栗子:

str='ABCDEFG'
print(str)#输出整串
print(str[0])#输出首个字符
print(str[0:5])#输出前五个字符
print(str[0:8])#输出全部字符
print(str[-7:-1])#输出除最后一个字符的全部字符
print(str[-7:7])#输出全部字符
print(str[-7:8])#输出全部字符
print(str[0:8:2])#隔两个输出一个字符
print(str[8:0:2])#没有字符可以输出
print(str[8:0:-2])#反向隔两个输出一个字符

运行结果:

ABCDEFG
A      
ABCDE  
ABCDEFG
ABCDEF 
ABCDEFG
ABCDEFG
ACEGGEC

2.字符串常见操作

  • 获取长度:len
  • 查找内容:find,index,rfind,rindex
  • 判断:startswith,endswith,isalpha,isdigit,isalnum,isspace,isidentifier,islower,isupper
  • 计算出现次数:count
  • 替换内容:replace
  • 切割字符串:split,rsplit,splitlines,partition,rpartition
  • 修改大小写:capitalize,title,upper,lower
  • 空格处理:ljust,rjust,center,strip,lstrip,rstrip
  • 字符串拼接:join
  • 输出指定内容:format
  • 将字典中的参数传进字符串:format_map

python字符串处理函数都是不会改变原有字符串的函数,只会返回一个临时产生的字符串,出函数之后会自动销毁。
具体操作见另一篇文章!
上述字符串常见操作详细实现戳这里

总结

学海无涯,每天学习一点点,每天更新一点点!

更多推荐

python基础学习小知识点

本文发布于:2024-02-19 18:48:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765555.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:知识点   基础   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!