python3 基础语法

# TODO注释 (pycharm)

       ## TODO(小明) 注释内容

 

# shebang符合指定linux下的执行路径

  ##! /user/bin/python3

 

# 基本运算符

+ - * / :加减乘除

// :整除

% :除余

** :乘方

字符串*号拼接:“hello”*10

 

赋值运算

c=a+b

c+=a  c=c+a

c-=a   c=c-a

c*=a   c=c*a

c/=a   c=c/a

c//=a   c=c//a

 

bool值true在计算过程中等于1

 

# 基本函数方法

input()  输入函数,输入后获取的数据类型都是str

type() 查看数据类型

int() 转换数据为整数

float() 转换数据为浮点小数

 

# 格式化字符串输出

语法如下

name=“小明”

print(“格式化字符串%s”%name)

print(“格式化字符串”%(变量1,变量2,。。。))

 

# if判断语句

age = 18

if age>=18:

       print(“go”)       #使用缩进控制if控制代码块

else:

       print(“back”)

elif 继续条件判断

 

# 逻辑运算符

or 或者

and 并且

not 非

 

# 循环语句

i=0

while i<=10:

       i+=1

if i==2:

       continue # 跳出本次循环,继续其他循环

       if i==6:

              break  # 跳出所有循环

       print(“hello)

 

for 变量 in 集合:

       循环代码

else:

       循环全部结束后,执行代码,如果通过break退出循环则不执行

 

# 函数基本使用

## 定义函数

def say_hello(): #def 定义函数关键字

       print(“hello”)

say_hello() # 调用函数

## 传参与返回值

def sun_num(num1, num2):

    print("%d + %d = %d" % (num1, num2, num1 + num2))

    return num1 + num2

       #如果返回值是元组类型,小括号省略 return num1,num2

 

print(sun_num(3, 5))

## 缺省参数使用

def demo(name, title=””,gender=True):  # 通过形参赋值的形式给参数指定默认值,缺省承参数之后不能定义无默认值的参数,如需定义,写在缺省参数之前

    print(name)

    if not gender:

        print(gender)

调用多个缺省参数函数时,可以通过对参数直接赋值调用

demo(“小明”,gender=False)

## 多值参数使用

def demo(num, *nums, **person):  #一个*接收元组,两个*接收字典

    print(num)  # 输出1

    print(nums)  # 输出 (2,3,4,5)

    print(person) # 输出 {'name': '小明', 'age': 16}

 

demo(1, 2, 3, 4, 5, name="小明", age=16)

### 多值参数拆包输入

def demo(*nums, **person):

    print(nums)

    print(person)

 

demo(*(1, 2, 3), **{'name': '小明', 'age': 16}) # 一个*拆分元组,两个*拆分字典

 

# 模块导入

导入并使用模块,py结尾的文件都可以看做是一个模块,python模块名不能以数字开头

tb_01_hello,py 中定义方法

def mul_table():

    row = 1

    while row <= 9:

        col = 1

        while col <= row:

            print("%d * %d = %d" % (col, row, col * row), end="\t")

            col += 1

        print("")

        row += 1

 

tb_02_mode.py 中引入模块并调用方法

import tb_01_hello

tb_01_hello.mul_table()

 

# 列表数据类型

name_list = ["aa", "bb", "cc"]

print(name_list[1])

可以使用list[0:0:1]进行切片

 

## 遍历列表使用for循环

for item_name in name_list:

print(item_name)

 

# 元组数据类型(类似列表)

元组中可以存储不同数据类型的数据,但是元组中的元素不能修改

定义只包含一个元素的元组 single_tuple = (1,),需要在元素后输入, 因为缺少逗号,解释器会认为括号内元素就是需要的内容

tuple() :转换列表为元组

list() :转换元组为列表

## 使用,分割多个变量直接接受元组数据

temp1,temp2=(23,56)

a,b=(b,a) #a与b值交换

 

# 字典数据类型(键值对)

xiaoming = {

    "name": "xiaoming",

    "age": 18,

    "gender": "male"

}

h = "height"

xiaoming[h] = "178"

print(xiaoming["name"])

print(xiaoming)

## 删除key:dict.pop(key)

## 合并字典

xiaoming = {

    "name": "xiaoming",

    "age": 18,

    "gender": "male"

}

update_dict = {

    "height": "178",

    "age": 22

}

xiaoming.update(update_dict)

合并时需要注意,如果原有字典中包含合并字典中的key则原有的value会被覆盖

## 遍历字典

for key in xiaoming:

    print(key)

    print(xiaoming[key])

 

# 字符串数据类型

str = "这是个字符串"

print(str[2])  # 打印对应索引的字符串

## 遍历字符串

for itemStr in str:

    print(itemStr)

## 常用内置操作方法

len() :统计字符串字节数

str.count(“个”) :统计某个字符出现次数

str.index(“个”) :查询某个字符对应的索引

str.isspace() :判断字符是否为空,“\t\n\r”转义字符也都为空

str.isdecimal() :判断是否为纯数字

str.strip() :删除空白字符

str.split(“,”) :按照输入字符,拆分字符串为列表,如果没有参数,则按照所有空白字符分割

“ ”.join(list) :按照需求,合并字符串列表为字符串

str[0:5:2] : 截取字符串,0为开始索引,5为结束索引,2为步长。如果索引为-1表示最后一个字符,也可为-2;如果步长为-1表示向左取值,简单实现字符串倒叙:str[-1::-1]或str[::-1]

 

### 字符串替换查找

str = "hello world"

print(str.startswith("hello")) #判断字符串是否以此开头

print(str.endswith("world")) #判断字符串是否以此结尾

print(str.find("ll")) #查找此字符在字符串中对应的索引值,如果不存在,返回-1并不报错

print(str.replace("world","python")) #replace进行字符串替换,会返回一个新的字符串,久的不变

 

# 内置方法

Id(param) : 查看变量对应的内存地址

print(“*”,end=“ ”) 默认换行,end指定替换换行的内容

print中的转义字符

\t # 保证输出内容在垂直方向对齐

\n # 水平方向换行

\”# 输出双引号

print(“1\t2\t3”)

print(“10\t20\t30”)

 

random

random.randint(1,10) 随机一个1-10的整数

## 所有数据类型包含的公共方法

len() :返回列表元素数量

del() :删除对应的数据

max([1,2,3,8]) :返回列表中最大的值 ,统计字典时返回key,并不是key对应的值

min([1,2,3,8]) :返回列表中最小的值 ,统计字典时返回key,并不是key对应的值

 

## 字符串,列表,元组通过+进行拼接

“hello ”+“python”= “hello python”

(1,2) + (3,4) = (1,2,3,4)

[1,2] + [3,4]] = [1,2,3,4]  本质是调用extend方法

 

## 成员运算符 in , not in

“a”in “abcd”

 

## pass关键字占位符,保证代码运行正确,不会有任何执行过程

 

# 局部变量与全局变量

## 局部变量

函数内部定义的变量,只能在函数内部使用

## 全局变量

函数外部定义的变量,所有函数内部外部都能使用这个变量

全局不变案例:

num = 10

def demo1():

    num = 99

print(num) # 输出99 ,

如果在函数中对全局变量进行修改,相当于重新声明了一个同名局部变量,全局变量不会变

 

def demo2():

    print(num) # 输出10

 

demo1()

demo2()

### 全局变案例:

1.赋值改变

num = 10

def demo1():

    global num  # 通过global关键字声明变量为全局变量,则可以在局部对其进行

    num = 99

    print(num) # 输出99

 

def demo2():

    print(num) # 输出99

 

demo1()

demo2()

 

2.可变数据类型,全局数据改变

def demo(num_list):

    num_list.append(9) #因为是通过方法改变可变数据类型的值,其全局值也改变

    print(num_list) # 输出[1,2,3,9]

 

gl_num_list = [1, 2, 3]

demo(gl_num_list)

print(gl_num_list) # 输出[1,2,3,9]

 

3.列表+=操作

def demo(num_list):

    num_list+=num_list #看似=赋值,其实列表+=时本质是调用extend方法

    print(num_list) # 输出[1,2,3,1,2,3]

 

gl_num_list = [1, 2, 3]

demo(gl_num_list)

print(gl_num_list) # 输出[1,2,3,1,2,3]

 

posted @ 2019-05-05 10:33  Tabb.Coding  阅读(169)  评论(0编辑  收藏  举报